一、简介
1、项目介绍
之前发布的文章有esp8266的wifi模块和BC20的NB模块与华为云物联网通信为主,本期文章采用了合宙的4G LTE Cat.1模块,编程语言用的是lua,整体来说代码比较简洁,实现对华为云物联网平台的设备通信与控制,即采用一个变量作为模拟属性定时上报,并以一个LED灯作为受控设备进行云端命令的控制,本期内容为我们在户外的项目应用中提供一些参考方案,实现手机远程控制户外设备与数据通信的功能。
准备:
Air780e开发板
usb-typec数据线
4G SIM手机卡(可上网)
2、Air780E模组
Air780E 是合宙通信推出的 LTE Cat.1bis通信模块,采用移芯EC618平台,支持4G全网通 支持双卡单待、支持SPI LCD、支持USB 2.0, 仅CDC功能、支持I2S数字语音接口、支持摄像头等配置,支持AT指令开发、CSDK开发和luatos的lua脚本语言的多种开发,开发板目前淘宝官网是39.9,性价比还是可以的
3、Luatos
Lua可以说是目前嵌入式方案中,资源占用最小、运行效率最高、语法最简洁的一门脚本语言。对于编程小白来说,它适合作为你的编程入门语言,因为语法简单。对于会c语言的老手来说,它与c可以完美契合,再加上LuatOS本身就是开源,你可以轻松地使用c为其添加一套c库接口,享受它的高效。在本次教程中,我们便使用lua语言跑luatos实现对华为云物联网平台的设备通信与控制。
4、华为云物联网平台
物联网平台的相关配置在这里就不和大家一一重复了,创建服务、设备、属性、命令等过程大家可以参考以前发布的文章(文末有链接),主要需要提前准备的数据有华为云物联网平台的设备三元组、相关MQTT发布订阅主题等,参考如下:
local mqtt_host = "iot-mqtts.cn-north-4.myhuaweicloud.com"
local mqtt_port = 1883
local mqtt_isssl = false
local client_id = "61fb2d7fde9933029bfuniot_esp8266_test01_0_0_2023021710"
local user_name = "61fb2d7fde9933029bfuniot_esp8266_test01"
local password = "eaff6453a8b5b774b11funiot99aa367b52df8funiot5333funiotf76bea151"
local mqtt_hw = nil
local devdata_topic="$oc/devices/61fb2d7fde9933029funiot_esp8266_test01/sys/properties/report" --订阅属性上报主题
local cmdrec_topic="$oc/devices/61fb2d7fde9933029befuniot_esp8266_test01/sys/commands/#" --订阅命令下发主题
local service_id="Dev_data" --服务ID
local command_name="Control" --控制命令
二、完整开发流程
1. 下载软件包与编译烧录工具
1) LuatOS软件包:Air780e使用LuatOS-SoC@EC618
2) 调试与烧录工具:Luatools
下载链接:https://doc.openluat.com/wiki/37?wiki_page_id=4489#LuaTools__9
2. 编写luatos脚本
下载链接:Gitee/IOT趣制作/Luatos_huaweiiot_air780e
3. 编译烧录
打开Luatools,点击项目管理按钮,选择下载好的固件(后缀名为soc的文件)和编写好的main.lua文件,勾选USB BOOT下载,点击下载底层和脚本按钮下载即可,具体操作流程如下图所示:
4. 运行结果
命令接收的同时开发板的LED灯光会对应的完成开关亮灭
5.Android APP
这里我们同样可以采用之前的Android APP完成与物联网平台的通信,实现手机远程控制户外设备与数据通信的功能,文章链接: