0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >智能家居 > 基于MicroChip ATmega4808的阿里云IOT连接开发套件方案

基于MicroChip ATmega4808的阿里云IOT连接开发套件方案

来源: 大大通
2020-03-20
类别:智能家居
eye 171
文章创建人 拍明

原标题:基于MicroChip ATmega4808的阿里云IOT连接开发套件方案

  MicroChip(MCHP)的ATmega4808阿里云IOT连接开发套件(简称套件)由功能强大的AVR 8-bit MCU ATmega4808、加密认证IC ATECC608A及经过认证的ATWINC1510 Wi-Fi模块组成;用户简单的操作即可快速连接到阿里云IOT平台。

  借助该套件用户可快速开发智慧家庭、智慧城市、智慧工厂等相关产品;例如在智慧家庭中通过阿里云平台远程控制洗衣机、探测环境光亮度后智能调节窗帘开合、门磁及求助报警等。

  硬件上,套件集成温度、亮度传感器、LDE指示灯以及板载调试器;高度集成、即插即用,无需其它部件即可完成IOT连接及应用开发。

  软件方面,使用免费开发环境Atmel Studio 或MPLAB X IDE进行代码开发,借助Atmel START或MPLAB Code Configurator(MCC)提供的代码等快速开发相关应用,极大的缩短开发周期。

  采用8-bit MCU极大的优化了成本、降低开发难度,MCHP通过Atmel START提供了阿里云IOT开发源码,用户将代码导入后MPLAB X IDE,根据阿里云IOT平台设备证书信息进行少量的修改后,即可将套件连接到阿里云IOT平台;用户可借助MCC生成MCU外设初始化及操作API函数,无需耗费时间查阅芯片手册通过寄存器操作,缩减了开发周期。

  经过全面认证(美国、加拿大、欧洲、日本、韩国、中国、印度和台湾均有认证)的ATWINC1510 Wi-Fi模组支持802.11 b/g/n;SOC所需外部元器件非常少;固件包含TCP/IP协议栈,支持TLS v1.2以及Wi-Fi AP和直连等;MCU通过SPI接口连接模组后,代码调用WiFi API函数即可获得无线连接能力,加速IOT产品联网的开发。

  加密认证器件ATECC608A基于硬件的密钥存储与硬件加密加速器;具备为每一个物联网硬件设备硬件设备创建唯一、信任且受保护的身份,构建完整的信任链的能力。本方案中ATECC608A用于用于存储设备证书信息(包含设备秘钥)、根据Client ID通过和设备密钥HMAC计算获得Password(Client ID包含时间戳,可以保证每次生成的HMAC都不同);

  简而言之,使用ATmega4808阿里云IOT连接开发套件可以低成本、快速的开发安全的IOT产品;

  一、硬件设计

  设计原文件可以参考附件中的“AVR-IoT_WG_SCH_PCB_DesignFiles(AltiumDesigner格式)”;

  1) 原图设计

  方案原理图核心部分如下:

1.1) 连接WiFi模组

  MCU与wifi模组连接参考如下资料进行设计,使用MCU 8个IO口(4线SPI、EN、RESET、WAKE、IRQ);

2) 连接ECC608

  MCU使用IIC总线与ECC608进行连接,注意需要外部上拉电阻

2) PCB设计

  2.1) 套件PCB

  下图分别是套件PCB的走线图、Top视图、Bottom视图;

2) WiFi模块布局要点

  PCB设计时,按照常规走线进行设计,需要注意的主要是wifi模组的布局,请参考以下图原则进行设计;

  二、代码设计

  1) 下载源码

  打开网址“https://start.atmel.com”,点击“Browse example”;在打开的网页中的“Search”栏中输入“Alibaba”,点选查找的结果激活下载选项,点击“DOWNLOAD SELECTED EXAMPLE”下载源码;

  点选下载后,服务器开始生成代码,耐心等待一小会,等待生成后,自动下载;

2) 导入及编译源码

  首导代码前,要确保已经安装MPLAB X IDE(方案编写时版本为:v5.30)及MPLAB® XC8 Compiler,(方案编写时版本为:v2.10,

  方案中使用的是v2.05);

  安装完成后打开IDE,依次选择“File”-->“Import”-->“START MPLAB Project”;

  在新窗口中,根据要求选择下载的文件的存储路径,并点击“Next”;

选择编译器;

点击菜单栏中的“锤子 ”图标,编译工程;

若操作你没有错误,应能编译成功;

  3) 修改代码

  下文操作一定要仔细核对,避免出错导致云平台设备无法上线;

  3.1) 根据设备证书信息修改代码

  依据阿里云IOT平台设备证书信息修改文件“AVR_IoT_Alibaba_Cloud_Sensor_NodeHeader Filesconfig

  IoT_Sensor_Node_config.h”中的如下宏定义:PRODUCT_KEY,DEVICE_NAME,DEVICE_SECRET以及DEVICE_SECRET (将设备证书信

  息烧录进ECC608);

3.2) 修改wifi信息

  根据可连接公网的wifi路由信息修改文件“AVR_IoT_Alibaba_Cloud_Sensor_NodeHeader Filesconfigconf_winc.h”中的

  CFG_MAIN_WLAN_SSID,CFG_MAIN_WLAN_PSK;建议使用手机热点功能作为wifi路由,路由的SSID及密码不要过于复杂;

4) 编译下载修改后的固件

  完成以上修改后,点击菜单栏中的“锤子 ”图标,编译修改后的工程,如操作无误应能顺利编译通过;

  通过USB连接线将开发板连接到电脑,点击菜单栏的“ 编程”图标,下载生成的固件;

  若顺利应能看到选择工具界面,若未找到开发板,重新启动IDE后重新操作以上步骤;

  若操作无误,应能顺利下载固件;若需要更新调试器固件,按照提示操作即可;

  固件烧录成功后,重新给开发板上电;稍等片刻应亮“蓝灯+绿灯”;若红灯亮,检查修改设备证书信息以及WiFi信息是否正确

  5) 定制外设代码建议

  如果用户自己设计PCB并且不使用套件的引脚配置,可在下载源码前通过“Atmel Start”进行外设、引脚及时钟的配置;

6) 部分代码解读

  为了加速用户应用落地,对源码部分代码进行分析,抛砖引玉;

  首先从main.c文件中的main函数开始,main函数主要代码如下:

  application_init();

  while (1) {

  runScheduler();

  }

  我们这里主要分析application_init();

  runScheduler();这个函数通过定时器机制调度各个"任务”;

  a) application_init()函数中调用了“wifi_init(wifiConnectionStateChanged, mode)”初始化wifi模组获得联网能力;同时调

  用“CLOUD_init(attDeviceID)”连接云平台;

  b) CLOUD_init()函数创建“CLOUD_taskTimer”任务;CLOUD_taskTimer实际是"CLOUD_task”;

c) CLOUD_task调用connectMQTT();

d) connectMQTT函数调用updateJWT();

  e) updateJWT函数中看到使用设备证书信息及HMAC计算

三、主要操作步骤

        详细步骤参考附件中的文档“ AVT_IOT_Aliyun_Getting Started (SAC)”;

  1) 阿里云平台中新建设备并获取设备证书

  1.1) 登录阿里云IOT平台后新建产品并增加功能;

1.2) 添加设备并获取设备证书;

2) 修改代码并烧录固件

  参考“代码设计”章节进行操作;

  3) 设备上线及在线调试

  3.1) 设备上线

  登录到阿里云IOT平台,设备状态从“未激活”变为的“在线”;

3.2) 查看运行状态

  点击“设备”页面“查看”操作后,在新页面中点击“运行状态”,查看设备的运行状态,增加照明等方式改变环境光亮度,此时页面中的“亮度”值应增加;

3.3) 在线调试

  在“在线调试”页面,“调试功能”选择择“黄灯状态”,“方法”选择“设置”修改值为“0”或 “1”;查看开发板黄灯状态(0对应关,1对应开);

  电脑上使用串口调试工具(如putty),打开开发板对应串口,波特率4800;

4)手机APP

  该功能最新状体已经下线,若以前的IOT项目仍能继续使用;

场景应用图

产品实体图

展示板照片

方案方块图

核心技术优势

  1)套件高度集成,主要部件使用8-bit MCU简化开发、全面认证的Wi-Fi模块缩短开发舟曲、安全认证IC增加安全性能;板载调试器及温度、亮度传感器及指示灯,不使用外部器件即可快速开发IOT产品;

  2)开发快捷,Atmel START提供了套件连接阿里云IOT源码,源码导入免费的开发环境MPLAB X IDE后,少量修改后即可连接到阿里云IOT平台(方案附件提供详细的操作步骤);若工程师环境具备,操作时间大概30分钟左右;

  3)高安全,经过全面认证的ATWINC1510 Wi-Fi模组固件支持TLS v1.2,ATECC608A为每一个物联网硬件设备硬件设备创建唯一、信任且受保护的身份,构建完整的信任链。

  方案规格

  1)套件尺寸:63.5mm x 25mm;

  2)主控MCU:ATmega4808,AVR 8bit,20 MHz,48 KB Flash,6 KB SRAM,Core Independent Peripherals;

  3)Wifi模组:ATWINC1510,802.11 b/g/n,集成闪存,SPI接口,内置硬件WLAN协议和安全加速器(AES和TKIP),全面认证,掉电模式下的功耗小于4 μA;

  4)安全认证IC:ATECC608A,硬件支持ECDH、ECDSA、SHA-256、AES-128,I2C接口,安全存储多达16个密钥、证书或数据。


责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案