结合 ShineBlink 和 机智云 开发者即使不懂嵌入式物联网开发、云和App开发,也能很快实现一款包含硬件、云和App的物联网智能硬件。
实现一款通过4G Cat1方式接入机智云的设备,用户可以通过App远程控制开发板上的4个继电器。通过本例可以很容易衍生出其他应用,比如远程控制照明灯、电磁阀、电机、声光报警等应用场景。
下图接线实物图和App控制页面:
名称 | 推荐购买源 | 资料下载 |
---|---|---|
通用版机智云 App | 免费 | 下载地址 |
ShineBlink 万能物联网开发板 | 淘宝搜索”ShineBlink“店铺有售 | shineblink.com |
带机智云GAgent固件的ML302 4G模块 | 淘宝搜索”ShineBlink“店铺有售,购买链接:https://item.taobao.com/item.htm?ft=t&id=657692493882 | gizwits.com |
继电器模块 | 任何可用3.3V GPIO控制的继电器模块 | |
黑色底板 | 该底板只是为了省掉接杜邦线,让外观好看一些,不是必需品,开发者如果没有可以用杜邦线来替代。如果仍想获取该底板,有如下两种方式:(1)通过右边提供的PCB工程资料自己打样PCB制作即可(2)通过联系微信号"shine_blink"免费获取空板PCB自己焊接也可(如果还有的话) | 底板PCB工程下载地址 |
xxxxxxxxxx
--配置D4为普通输出,控制继电器1
LIB_GpioOutputConfig("D4","STANDARD")
--配置D2为普通输出,控制继电器2
LIB_GpioOutputConfig("D2","STANDARD")
--配置D0为普通输出,控制继电器3
LIB_GpioOutputConfig("D0","STANDARD")
--配置D1为普通输出,控制继电器4
LIB_GpioOutputConfig("D1","STANDARD")
--机智云平台为每个产品类别分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "66fb45db73984784867dccbdbfc7167d"
PS = "d12e9eca9fb04addacc7f7935811ccd3"
--初始化4G模块
LIB_Giz4GConfig(PK,PS,6000,120,"UART0","D5","HIGH","D6","HIGH")
--开始大循环
while(GC(1) == true)
do
--查询机智云是否下发了写"Sw1"数据点(继电器1)
flag,recv_data = LIB_RecvFromGizCloud("Sw1")
if flag == 1 then
print("Sw1~~~~~~~")
if recv_data == 1 then -- 云下发了1
LIB_GpioWrite("D4",0)--打开继电器
else -- 云下发了0
LIB_GpioWrite("D4",1)--关闭继电器
end
end
--查询机智云是否下发了写"Sw2"数据点(继电器2)
flag,recv_data = LIB_RecvFromGizCloud("Sw2")
if flag == 1 then
print("Sw2~~~~~~~")
if recv_data == 1 then -- 云下发了1
LIB_GpioWrite("D2",0)--打开继电器
else -- 云下发了0
LIB_GpioWrite("D2",1)--关闭继电器
end
end
--查询机智云是否下发了写"Sw3"数据点(继电器3)
flag,recv_data = LIB_RecvFromGizCloud("Sw3")
if flag == 1 then
if recv_data == 1 then -- 云下发了1
LIB_GpioWrite("D0",0)--打开继电器
else -- 云下发了0
LIB_GpioWrite("D0",1)--关闭继电器
end
end
--查询机智云是否下发了写"Sw4"数据点(继电器4)
flag,recv_data = LIB_RecvFromGizCloud("Sw4")
if flag == 1 then
if recv_data == 1 then -- 云下发了1
LIB_GpioWrite("D1",0)--打开继电器
else -- 云下发了0
LIB_GpioWrite("D1",1)--关闭继电器
end
end
end
上面代码中出现的"LIB_"开头的库函数的详细介绍可以在shineblink.com网站上的API文档中查询。
通过《4G设备接入机智云教程》我们可以很快掌握机智云的接入流程,并使用现成的通用版机智云App即可很快的实现手机App远程访问我们的开发板。缺点就是通用版App的UI页面看起来不够专业。
本例中我们使用了"Sw1","Sw2","Sw3","Sw4"四个布尔值型数据点,记得在机智云平台修改相应的数据点的名称。
在选择二之前,必须完成上面选择一的工作,然后参考《赛博坦零代码App开发(4G版)》教程实现定制版App访问设备。开发好以后的页面如下:
如果有一定开发能力,开发者可以考虑在机智云免费提供的开源代码上做一定的定制开发形成自己的App。