OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3764|回复: 2

【物联网开发教程】机智云App远程和开发板聊天

[复制链接]

308

主题

317

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
1211
金钱
1211
注册时间
2020-2-25
在线时间
115 小时
发表于 2023-2-9 12:15:39 | 显示全部楼层 |阅读模式
本帖最后由 孟加拉球 于 2023-2-9 12:17 编辑

一、实现的功能描述
小程序远程和开发板相互发送字符串信息。
  • 电脑端串口调试助手发送字符串 --> 开发板 --> 小程序
  • 小程序发送字符串 --> 开发板 --> 电脑端串口调试助手

二、 UI配置描述
本例程中所包含的UI配置代码如下:

  1. UI = "[0_RecvText][4_SendText]"
复制代码



例程中用了类型为 “0” 的控件用来接收小程序下发的字符串信息,用了类型为 “4” 的控件用来向小程序发送字符串信息,关于该类型控件的具体描述可以参看官网中关于ShineBlink云的教程。
基于以上UI配置,当设备上电后,我们在小程序中可以看到系统为我们自动生成的小程序页如下:


三、完整源代码(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改成您的路由器账号和密码,然后将代码复制到开发板中并运行十几秒之后,我们用微信扫描开发板背后的二维码,在弹出的微信小程序中我们就可以远程和开发板进行字符串消息互发了。

五、4G版本
4G版本和WiFi版本的代码几乎一样,我们只需做如下两处调整即可实现4G远程:
(1)将4G模块插入开发板上的4G插槽,如下图:
(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")
复制代码

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2023-2-9 23:33:58 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-4-6 16:46:57 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 15:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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