硬件上云(wifi模块连接EMQ)
2018-09-06 本文已影响3人
tarscoding
服务端篇:Ubuntu部署EMQ与调试
当前为硬件上云篇:
当前IOT环境已经非常成熟了,耳边响起了熟悉的广播操音乐"时代在召唤"(衰)
言归正传:
国产芯片厂商乐鑫已经在iot领域沉淀了多年,在youtube上很多外国友人也是用乐鑫的平台开发
原因:1.便宜 2.开发友好 3.生态完善
乐鑫传送门
乐鑫MCU平台支持的开发语言或者说框架如下
![](https://img.haomeiwen.com/i2316125/6397dec85f892d10.png)
依次为:NodeJS,Python,NodeJS,Arduino,平台,Python平台
此次我们采用:
硬件:ESP32-DevKitC(esp32基础班开发板)
![](https://img.haomeiwen.com/i2316125/f231f740914a6a9c.png)
框架:Mongoose os
![](https://img.haomeiwen.com/i2316125/d9958b3c93c2f9a9.png)
开始开发:
1.部署mos
#Mac平台
brew install mos
mos --help
mos
#其他版本看
2.首次需要安装usb驱动程序
![](https://img.haomeiwen.com/i2316125/a07ab82c5924df04.png)
3.然后选平台,填写wifi,框架会将demo-js示例代码烧录到芯片,这里不再复述
![](https://img.haomeiwen.com/i2316125/96a98be9312416a8.png)
4.配置MQTT服务,可以是自己的服务器,也可以是其他IOT平台
#MQTT核心代码段
// Publish to MQTT topic on a button press. Button is wired to GPIO pin 0
GPIO.set_button_handler(button, GPIO.PULL_UP, GPIO.INT_EDGE_NEG, 20, function() {
let message = getInfo();
let ok = MQTT.pub(topic, message, 1);
print('Published:', ok, topic, '->', message);
}, null);
5.意思很明显,开发板按钮按下时就发送一条消息,注意配置主题
![](https://img.haomeiwen.com/i2316125/b8567d2993eb59f3.png)
6.配置文件在这里
![](https://img.haomeiwen.com/i2316125/aaf9f00dc540a032.png)
因为我提前搭建好服务端了,而且是匿名验证所有不需要账号密码
![](https://img.haomeiwen.com/i2316125/165b996ac7f4c920.png)
7.按下开发板按钮
日志输出
![](https://img.haomeiwen.com/i2316125/db7f92ef463c97d9.png)
然后命令行订阅端的测试结果
![](https://img.haomeiwen.com/i2316125/c22dca7d905ab630.png)
8.至此硬件上云基础流程已经走完
9.下一步将在服务端实现消息固化,准备用Kafka,未完待续