This commit is contained in:
赵鑫 2022-09-05 09:22:27 +08:00
parent cba7264af5
commit caf99e7cf4

View File

@ -1,39 +1,46 @@
require('dotenv').config() require('dotenv').config() // 读取系统环境变量
// const socketio = require('socket.io')
const sense = require('sense-hat-led').sync // HTTP 请求路由
const app = require('express')() const app = require('express')()
app.get('/', (req, res) => res.sendStatus(200)) app.get('/', (req, res) => res.sendStatus(200))
// 服务器启动
const port = process.env.PORT || 3000 const port = process.env.PORT || 3000
const host = process.env.HOST || 'localhost' const host = process.env.HOST || 'localhost'
const server = app.listen(port, host, () => { const server = app.listen(port, host, () => {
console.log(`rpi sense hat server is running at http://${host}:${port}`) console.log(`rpi sense hat server is running at http://${host}:${port}`)
}) })
const io = require('socket.io')(server, { cors: { origin: '*' } })
// Sense HAT 全局数据 及 初始化
const R = [255, 0, 0] const R = [255, 0, 0]
const G = [0, 255, 0] const G = [0, 255, 0]
const B = [0, 0, 255] const B = [0, 0, 255]
const X = [0, 0, 0] const Y = [255, 255, 0]
const P = [255, 0, 255]
const C = [0, 255, 255]
const O = [255, 255, 255] const O = [255, 255, 255]
const _ = [0, 0, 0]
const sensehat = { const sensehat = {
led: require('sense-hat-led').sync,
leds: [ leds: [
O, O, O, O, O, O, O, O, R, O, O, O, O, O, O, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, X, X, X, X, X, X, O, O, _, _, _, _, _, _, O,
O, O, O, O, O, O, O, O, O, O, O, O, O, O, O, O,
] ]
} }
// Sense HAT 初始化 sensehat.led.clear()
sense.lowLight = true sensehat.led.setRotation(0)
sense.setRotation(180) sensehat.led.lowLight = true
sense.clear([0, 0, 0]) sensehat.led.setPixels(sensehat.leds)
sense.setPixels(sensehat.leds)
// socketio 服务
const io = require('socket.io')(server, { cors: { origin: '*' } })
io.on('connection', (client) => { io.on('connection', (client) => {
console.log(`client conncted: ${client.id}`) console.log(`client conncted: ${client.id}`)
client.on('operation', ({ action }) => { client.on('operation', ({ action }) => {
@ -53,11 +60,11 @@ io.on('connection', (client) => {
// read_all_leds(0) // read_all_leds(0)
// break // break
case 'flash': case 'flash':
sense.clear(O) sensehat.led.clear(O)
setTimeout(sense.clear, 200) setTimeout(sensehat.led.clear, 200)
break break
case 'clear': case 'clear':
sense.clear() sensehat.led.clear()
break break
default: default:
break break