初衷打算要做一个智能课桌,由于时间和资源以及能力不足的原因,就先做智能课桌上的灯。期望这个灯能陪小孩入睡(小孩睡觉要开着灯),等小孩入睡了再自动关闭。总之需求如下:
1、灯能入腾讯云,能够通过小程序控制;
2、能定时开关;
3、能够语音控制开关;
EVB_MX是腾讯物联网操作系统TencentOS tiny 团队联合南京厚德物联网有限公司设计的一款物联网评估板,用于TencentOS tiny 基础内核和IoT组件功能体验和评估。
我们的目标将Iot设备上腾讯云,通过云端或小程序来给板子下达指令。用户可以通过微信小程序与IoT设备进行简单交互,分三部分组成,包括用户应用,云平台,IoT设备,其架构图如下:
首先要注册腾讯云账号,并且向腾讯同事申请物联网开发平台服务权限。
至此,腾讯云端已经配置完成,接下来在终端修改配置,烧录到开发板中进行测试。
红色部分为WIFI及密码。
将上图红色线框中的数据分别替换为控制台“设备详情页“中的参数并保存。
产品 ID: 将控制台的产品 ID ,复制到上图 sg_product_id 的红色框中。
设备名称: 将控制台的设备名称,复制到上图 sg_device_name 的红色框中。
设备密钥:将控制台的设备密钥,复制到上图 sg_device_secret 的红色框中。
完成上述步骤,将代码编译之后烧录至开发板,顺利的话就能连上腾讯云了。
我们可以在腾讯云上直观的看到开发板的连云情况:
至此,设备上网成功,已经能够上传状态、下达指令。
接下来,需要根据指令点亮LED灯传感器了。
初始化传感器GPIO:
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
开灯:
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_SET);
关灯:
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_9, GPIO_PIN_RESET);
在参与腾讯物联网会议时,很幸运地拿到了腾讯云Iot开发板,算是最早拿到板子一批人。看着精美的包装盒非常兴奋。奈何从来没有接触过硬件开发,不知道从何下手,只好仔细端详开发板赞叹做工精良了。直到正式开始内测,内测群中牛人云集,在腾讯同事和热心群友的指导帮助下,一步步完成硬件组装、参数配置、设备上云、云端控制灯的开关等步骤,感谢各位大牛的悉心指导。
现在只是现学现卖地实现了智能灯的Demo而已,离目标还有很远。接下来继续努力实现:定时开关灯、小程序控制、天猫精灵语音控制等功能。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。