Kara 发表于 2023-2-9 12:06:00

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

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



一、实现的功能描述


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

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


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

四、实验现象

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













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

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




页: [1]
查看完整版本: 物联网开发教程】App远程和开发板聊天