如何在树莓派中使用点灯科技的NodejsSDK-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1115|回复: 1

[分享] 如何在树莓派中使用点灯科技的NodejsSDK

[复制链接]
发表于 2021-9-26 16:42 | 显示全部楼层 |阅读模式
本帖最后由 hanpanpan 于 2021-9-26 16:54 编辑

环境
硬件:树莓派
软件:点灯科技的NodejsSDK

实现功能
以前用esp8266时情况是这样:
IDE中编写程序,然后烧录到esp8266,通电后esp8266里的程序通过连接点灯科技服务器使设备在线,这时手机app Blinker中的设备就在线,并可以通过app中的按钮发送数据到esp8266,从而控制esp8266的针脚
现在用树莓派也类似:
喜欢的IDE(推荐vscode)中编写程序,然后以服务的方式运行,这时树莓派中的node服务会连接点灯科技的服务器,手机app Blinker中的设备上线,通过app中的按钮发送数据到树莓派,从而控制树莓派的针脚


源码下载:

https://github.com/hanpanapn/blinker-js-demo

接下来开发程序了

项目目录:
  1. ---src  程序代码
  2. |--main.js 主程序
  3. ---lib  NodeJsSDK
  4. ---tsconfig.json ts配置,不可删除
  5. ---readme.md 帮助文档
  6. ---package.json npm包
  7. ---pm2.yml  服务启动配置
复制代码


基本主要代码:
  1. import { BlinkerDevice } from '../lib/blinker';
  2. import { ButtonWidget, NumberWidget } from '../lib/widget';

  3. let device = new BlinkerDevice('秘钥');

  4. // 注册组件
  5. //在手机端app中的组件类型和名称要和这里的一致
  6. let button1: ButtonWidget = device.addWidget(new ButtonWidget('btn-123'));
  7. let button2: ButtonWidget = device.addWidget(new ButtonWidget('btn-abc'));
  8. let number1: NumberWidget = device.addWidget(new NumberWidget('num-abc'));

  9. let num = 0;

  10. device.ready().then(() => {

  11.     device.dataRead.subscribe(message => {
  12.         console.log('-----start');
  13.         console.log('otherData:', message);
  14.         console.log('-----end');
  15.     })

  16.     button1.listen().subscribe(message => {
  17.         console.log('-----start');
  18.         console.log('button1:', message.data);
  19.         console.log('-----end');
  20.         num++;
  21.         number1.value(num).update();
  22.     })

  23.     button2.listen().subscribe(message => {
  24.         console.log('-----start');
  25.         console.log('button2:', message.data);
  26.         console.log('-----end');
  27.         // 其他控制代码
  28.     })

  29. })

复制代码


开发环境运行:
  1. npm run dev
复制代码


生产环境运行:
  1. pm2 start pm2.yml
复制代码

总结:
本次代码上没什么,基本都是官方给的,主要是优化了项目目录,明确开发环境于生产环境的部署方式,生产环境的部署是用pm2,熟悉前端开发的朋友肯定会用,不熟悉的朋友可以先自学一下,有什么问题大家一起讨论

待解决的问题:
  • 如何用js 去控制树莓派的某一个针脚输出高电平?



 楼主| 发表于 2021-9-26 17:00 | 显示全部楼层
本帖最后由 hanpanpan 于 2021-9-26 17:02 编辑

此文章已同步发在我的个人博客,博客中还一些其他技术文章,博客是用github免费搭建的,欢迎去看看

[md][https://blog.hpanpan.cc/%E5%9C%A8%E6%A0%91%E8%8E%93%E6%B4%BE%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%82%B9%E7%81%AF%E7%A7%91%E6%8A%80%E7%9A%84NodejsSDK](https://blog.hpanpan.cc/%E5%9C%A8%E6%A0%91%E8%8E%93%E6%B4%BE%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%82%B9%E7%81%AF%E7%A7%91%E6%8A%80%E7%9A%84NodejsSDK)[/md]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:47 , Processed in 0.069721 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表