收藏官网首页
查看: 2235|回复: 0

物联网开发教程】App远程和开发板聊天

598

主题

644

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
32489
 楼主| 发表于 2023-2-9 12:06:00 | 显示全部楼层 |阅读模式
免费使用STM32、APP自动代码生成工具
【物联网开发教程】App远程和开发板聊天




一、实现的功能描述


小程序远程和开发板相互发送字符串信息。
  • 电脑端串口调试助手发送字符串 --> 开发板 --> 小程序
  • 小程序发送字符串 --> 开发板 --> 电脑端串口调试助手
二、 UI配置描述

本例程中所包含的UI配置代码如下:
  1. UI = "[0_RecvText][4_SendText]"
复制代码
例程中用了类型为 “0” 的控件用来接收小程序下发的字符串信息,用了类型为 “4” 的控件用来向小程序发送字符串信息,关于该类型控件的具体描述可以参看官网中关于ShineBlink云的教程。
基于以上UI配置,当设备上电后,我们在小程序中可以看到系统为我们自动生成的小程序页如下:
app1.jpg


三、完整源代码(WiFi版本)
  1. --配置USB接口为CDC虚拟串口模式
  2. LIB_UsbConfig("CDC_PD")
  3. --设置UI配置,该配置决定了小程序页面显示的控件具体有哪些什么,名字是什么
  4. UI = "[0_RecvText][4_SendText]"
  5. --设置C2开发板自带的WiFi连接云
  6. ssid = "abcdef" --修改成您的WiFi路由器账号
  7. pswd = "123456" --修改成您的WiFi路由器密码
  8. LIB_CloudConfig("S0", "WIFI_C2", 0, "SBK_01", UI, ssid, pswd)
  9. while(GC(1) == true)
  10. do
  11.     --查询是否收到服务器下发的数据
  12.     recv_flag, msg = LIB_CloudRecv()
  13.     if recv_flag == 1 then
  14.         --查看服务器是否下发字符串信息
  15.         if string.find(msg, "SendText") ~= nil then
  16.             Json_Val = LIB_JsonParse(msg, "$.SendText")
  17.             --将收到的字符串通过USB CDC串口发送到电脑串口调试助手上面
  18.             LIB_UsbCdcSend(LIB_StrToTab(Json_Val.."\r\n"))
  19.         end
  20.     end
  21.     if LIB_UsbCommPortOpenQuery() == 1 then
  22.         --查询是否收到电脑发来的串口数据
  23.         recv_flag,recv_tab = LIB_UsbCdcRecv()
  24.         if recv_flag == 1 then
  25.             --将收到的字符串信息发给云端
  26.             Send_Str = string.format("{\"RecvText\":\"%s\"}", LIB_TabToStr(recv_tab))
  27.             LIB_CloudSend(Send_Str)
  28.         end
  29.     end
  30. end
复制代码


四、实验现象

将上面代码中的ssid和pswd改成您的路由器账号和密码,然后将代码复制到开发板中并运行十几秒之后,我们用微信扫描开发板背后的二维码,在弹出的微信小程序中我们就可以远程和开发板进行字符串消息互发了。


QRcode2.jpg


pic3.png




pic4.jpg


五、4G版本
4G版本和WiFi版本的代码几乎一样,我们只需做如下两处调整即可实现4G远程:
(1)将4G模块插入开发板上的4G插槽,如下图:
C2DevKit_5.jpg

(2)将代码中WIFI初始化改成4G初始化即可,调整如下:
将原来WiFi的:
  1. --设置C2开发板自带的WiFi连接云
  2. ssid = "abcdef" --修改成您的WiFi路由器账号
  3. pswd = "123456" --修改成您的WiFi路由器密码
  4. LIB_CloudConfig("S0", "WIFI_C2", 0, "SBK_01", UI, ssid, pswd)
复制代码
调整成4G后的:
  1. --设置外部4G模块连接云
  2. LIB_CloudConfig("S0", "4G_ML302", 0, "SBK_01", UI, "NO_GPS")
复制代码





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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