本次实践是为尝试在嵌有华为海思芯片的 Hi3861 WIFI物联网开发板上配置开发环境并使用配套开发工具( HUAWEI DevEco Device Tool 或 HUAWEI LiteOS Studio )将Demo工程编译烧录和运行。
参照华为海思编撰的 《物联网技术和应用》 进行搭建。
1确认开发环境已经正确安装后,启动 Huawei LiteOS Studio
2新建工程, SDK版本 选择 HiHope WiFi_IoT Hi3861SPC025 ;
SDK目录 在HiSpark_Pegasus_TechnologyApplication_IoT_Kit下的 HiHope_WiFi-IoT_Hi3861SPC025 ;
参考目录 选择在HiSpark_Pegasus_TechnologyApplication_IoT_Kit下的 HiHope_Pegasus_HelloWorld 。
目标板Hi3861V100。
3按F4进入工程配置, 目标板配置 中:厂商 HiSilicon ,选中目标板 Hi3861V00 ,确认。
4 编译器配置 中:SConstruct脚本,点击文件夹右侧的放大镜自动搜索SConstruct脚本位置,正常搜索完点确认。
5 烧录器配置 中:烧录方式选择 HiBurner ,确认。
6 串口配置 中:成功连接Hi3861板后,端口选择唯一一个COM端口;波特率选择 921600 ,确认。
7F7 编译 ,成功时终端输出紫色 BUILD SUCCESS 字样。
8F8 烧录 ,出现HiBurn程序窗口时,按一次Hi3861板上的Ret按键,烧录开始。成功时如图:
9烧录完成,重新拔插数据线,HelloWorld程序运行正常,OLED屏上显示Hello World字样,Hi3861板上LED灯闪烁。
「只要有人的地方,就有物联网技术。」我不清楚这句话的出处,我只知道有人的地方就有江湖~哈哈。我想说的是,「物联网技术」这个名词是一个很大很泛的概念,我可以说不存在这种技术,我也可以说这技术实际上就是当今电子、通信、计算机三大领域的基础技术。
我在这问题下的回答「物联网和互联网的区别和联系?」简单阐明了物联网和互联网之间的关系。请问,1994年中国接入互联网以来,我们作为互联网原著居民的90后,认为互联网技术又是一种怎样的技术呢?
我就奇了怪了,当初教育局怎么不开一个互联网技术专业?实际上现在也没必要开设互联网专业了,当今大学的计算机系本科所学的大部分内容,就是互联网会用到的技术。其中之一是Web建站技术。
Web 建站技术中,HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASPNET、Web Services 是什么? - 张秋怡的回答
什么?你们计算机系不是学这些?来来来,我电脑坏了,过来帮我修一下电脑吧~
总之,互联网是一个时代,物联网,也是一个时代。物联网技术是当今电子、通信、计算机、IT行业技术的大融合。如图,物联网技术的技术组成(简单版)。
# 物联网技术之一:单片机/嵌入式开发
智能硬件,哎,不就是单片机吗?说到底就是一个微控制器,现在出现的智能手表,调光LED灯,蓝牙开锁,WiFi插座等等,说到底不就是单片机开发嘛?单片机,电子和通信专业一般都会教51或AVR、计算机系接触不到。现在流行的Arduino也是单片机开发的一种。
但是要做一款智能硬件,技术上只会单片机编程还是不行的。哎呀嘛什么智能硬件,本质上就是一个电子产品!。所以你要开发一款能拿得出手的智能硬件,电子系统设计必须要会的!
电子系统设计(电子系统设计与实践 (豆瓣)),我不是指《电子系统设计》这本书里的内容,而是一个动手实验过程。要做智能硬件,广看书没用,只会单片机编程也不够的!真正有用的是一个实打实的课程设计,或者一个项目经历。一个电子系统设计流程一般是这样的:
硬件设计阶段:
MCU选择
电路设计(电路图)
验证电路(面包板、万用板)
电路板设计(PCB图)
送工厂打板或自己做板
元器件、物料管理(采购等)
拿到电路板后
焊接芯片和元器件
上电测试
烧写最后版本的代码到芯片里
如果你熟悉以上硬件设计阶段,并知道要做什么事情,已经是一个合格的单片机硬件工程师了哈~接下来就是单片机软件工程师的事情了,单片机软件一般都不会太复杂,有的还是不用上 *** 作系统的裸机开发,做过单片机课程设计的学生都懂。
软件设计流程:
确定软件架构(主循环?状态机轮询?)
编写软件
调试代码(开发板或自己搭建好的电路)
烧写最终版本的代码到电路里
这些都不算复杂了,如果你用的芯片高级一点,不是微控制器而是微处理器的话,那么就是嵌入式开发了。
如图是ARM芯片架构系列。
一般网上STM32开发板的芯片是STM32F103,也就是Cortex-M3核,还算是单片机开发,如果外设没有太多功能,单片机想用更小巧一点的,可以选用M0核的芯片,名副其实的微控制器了。如果使用Cortex-A9开发,你这是要开发手机还是机顶盒(黑人问号)?
Cortex-A系列芯片的开发,或者说这类产品,一般一个人不可能独立完成所有工作,这种嵌入式开发的技术最少分为四个层次:硬件层、驱动层、系统层和应用层。每一层次都需要有人去设计。驱动和系统可以移植,硬件电路板肯定要专门的硬件工程师去做的,应用层可以交给应用工程师,只要上了Linux系统,不也就是Linux应用开发嘛?如果去网上买回来的嵌入式开发板,能拿得出手的项目只能应用层开发,比如什么「数码相框系统」、「视频点播系统」。别告诉我学会移植uboot或Linux就可以找工作了。
# 物联网技术之二:网络通信协议
智能硬件与传统的电子产品最大的差别,就是智能硬件连上了网络。要连上网络,就需要用到网络通信模块及学习网络通信协议——TCP/IP。
TCP/IP是一个技术的总称,里面包含两种协议TCP、UDP,位于网络通信分层模型的传输层,同时也是由 *** 作系统管理。而>
为了让电子产品有联网的能力,只要在电路设计上给主控芯片连接一个通信模块,写好收发网络指令的代码,剩下的就是电子产品设计了。
到这里,基本是一个物联网产品的雏形了,以上也是物联网中基本会用到的电子和通信技术。
# 物联网技术之三:服务端开发框架
Client/Server架构,即客户端/服务器架构。智能硬件连上后台服务器后,其就是一个客户端,一个终端。由于单片机中资源受限,实际上是不太可能用>
服务端开发就比较复杂了。单片机/嵌入式软件开发还好,只要学习好C语言即可打遍天下无敌手,而服务端开发,用Java呢还是Python还是PHP?反正Java和Python选一个就好了,嵌入式出身的工程师,一般都会学Python。
Python服务器端的开发框架种类繁多,Web开发的有Django、Flask、Tornado Web Server,TCP服务器可以用Twisted,等等。MQTT有已经做好的服务器,像这样的服务器不用自己开发,直接部署即可。
如图,这是我开发一个智能硬件的服务器端的框架图。使用Redis作为>
在这个项目开发中,最少需要开发用户端的>
到了这里,服务端开发和前面两个技术可以作为一个分层,前面的单片机/嵌入式和网络通信的开发可以算作是一个电子设备的开发,后台工程师只要拿到了这个电子设备,知道这个设备提供了哪些接口(API),就可以进行后台开发了——把设备连上网络,分配给它一个IP或者什么的,配置好接口及相关 *** 作,剩下的事情就交给前端了。
## 关于前端技术
关于前端技术,我这里不好单独写一个主题,其一,我对前端技术没有那么熟悉,还处于前端技术=HTML+JavaScript+CCS的概念,以及手机端的APP开发;其二,前端技术与电子硬件技术间隔相差太远,前端更多的是和美工沟通,和后台协调,和设计师交流,甚至可能还需要有一定的美感;其三,大部分项目的最重要的是实现设备的稳定性、联网、数据的获取和控制。如果设备不稳定,数据出现差错,没法控制,再漂亮的前端页面也没用。其四,如果是做智能家居,做消费电子领域的项目,针对广大普通消费者,比如WiFi插座,一个漂亮的界面是很重要,但是大多数的物联网项目,只需要一个后台管理界面就行了。
所以,没有前端的设计,界面都是很丑咯!
# 物联网技术之四:无线自组网
无线自组网,或称无线传感网络,这肯定是物联网专业的学生要学的一门学科,属于通信领域,电子、计算机出身的人对这没有太多的概念。无线自组网最典型的技术之一是,ZigBee。
什么是自组网?做个对比,比如我们的WiFi,我们要用手机去连一个SSID,输入密码才能连上WiFi,而且你的手机,一般来说也不可能再发射Wifi出去让其他手机连接,WiFi网络拓扑成星型网。
而自组网不一样,不需要用户输入用户名和密码,直接连到最近的一个自组网设备,最后自组网设备也可以作为一个中间节点,让下一级的设备连接进来,网络拓扑可以成星型网、簇型网和网型网。那么无线自组网的数据怎么流动呢?流去哪?无线自组网一般都会有一个数据汇聚的地方,这个地方就是网关。
但是ZigBee并没有连上互联网啊,它最多只是一个局域网!——这还不简单?这是就是网关要处理的事情了。而且,ZigBee协议栈Z-Stack是有Linux网关版本的。
Z-Stack - ZigBee 协议栈
不过呢,由于各种原因,ZigBee开始走下坡路了,最新的6LoWPAN会逐渐替代。6LoWPAN,是一种低功耗的无线网状网络,其中每个节点都有自己的 IPv6 地址,允许其使用开放标准直接连接到互联网。Zigbee使用网内专用地址,互联网主机无法访问。集成 Ipv6/6LoWPAN 堆栈的开源 *** 作系统Contiki也会逐步取代Z-Stack。
如果大学开设了无线自组网的课程,不是学习ZigBee的Z-Stack就是Contiki。使用无线自组网也并不是一个单独的开发过程,其技术需要结合单片机/嵌入式开发。
## 电源问题
是的,如果要用无线自组网,电池续航的能力是一个问题。如果是类似与WiFi插座、智能饮水机、智能风扇等等,接上市电就能用,这些电源都不是问题。而对于无线自组网,往大的方向说就是所有的便携式智能设备,都受限于电池续航能力,比如智能手表,运动手环。不过呢,突破电池技术并不是物联网开发者所需要做的工作,我们能做的,只能是挑选更低功耗的芯片,设计电路功耗更低一点,让单片机休眠并使用中断唤醒机制。
图,用水果电池供电的某430单片机系统。
# 物联网技术之五:RFID
仔细观察上面那张无线技术的图,最右边,NFC/RFID。嗯,对,RFID,非接触射频识别,也是物联网技术重中之重的技术,很多物联网书籍都会介绍RFID,搞得很多人以为RFID就是物联网。
介绍RFID前先简单说一下条形码。去超市购物的时候,收银员把扫描q对准上面的条形码扫一扫,商品信息和价格就录入到电脑里了。条形码替代了收银员手动输入数据,工作效率提高了几倍。
可是,进入21世纪后,条形码已经不能满足人们的需求,存储能力小、工作距离近、穿透能力弱、不能写 *** 作等等都是条形码的缺点。这个时候就出现了RFID技术。典型应用如下图:
(。。。好像没有什么奇怪的啊?)
一二线城市早已实现了的公交卡,以及校园一卡通,用的就是RFID技术。RFID可读可写,所以公交卡、校园卡的钱能存在卡里面。
NFC,也是RFID的技术一种,目前大部分手机都支持的NFC功能,手机取代公交卡真的是迟早的事。要是手机没有NFC功能,也可以这么装逼:
我看他用手机刷卡出入站挺方便,就问他怎么弄的,是不是要下载什么软件。
他告诉我:“这个很简单,只要把公交卡藏在手机套里就行了。”
同样,RFID开发也是离不开单片机开发,网上也有相关的RFID开发套件出售。
# 结语
当然,物联网技术绝对不止以上五种,物联网本身就是所有技术的大融合,做电子产品的还要考虑产品外壳,不过这是结构工程师的事情;做服务器后台的还要考虑用户帐号数据库读写等,前端也要考虑如何把设备数据和 *** 作方式优雅的展现给用户看,这些是IT程序员的事情;电池技术也需要单方面突破,超小体积、超大容量,这个还得等待多时。
与其说物联网是一种技术吧,不如说它是一个时代,物联网通过对相关技术进行整合,形成一个时代的概念,是一个建立在技术基础之上的时代。
物联网wifi模块,USBwifi模块开发板行车记录仪、运动DV、投影仪可用到我司的WIFI模块产品有以下:
联发科(MTK)系列:
USB网卡:
TML1505C-MT7601系列;
瑞昱(Realtek)系列:
USB接口:
TML1510EU-RTL8188EUS系列; TML1511A-RTL8188ETV系列;
TML1515A-RTL8188FTV系列;
SDIO接口:
TML1516A-RTL8189ETV系列;TML1517A-RTL8189FTV系列;
TML1512A-RTL8189ES系列;
WIFI+BT蓝牙:
TML1509A-RTL8723BS系列;TML1509BU-RTL8723BU系列。今年6月初,工信部宣布我国5G已经具备商用基础,正式发放5G商用牌照。5G发展的脚步越来越快,将能带动很多新兴行业的发展,创造上万亿经济效益、千万个就业机会。 边缘计算领域就是其中一方面。
边缘计算,大家都不陌生。早在2013年,边缘计算伴随着4G网络的铺设以及商用化进程被提出和展开,在5G研究初期移动边缘计算(MEC)就被列入5G系统网络重构的一部分,一度被誉为5G时代的下一个“风口”。
随着智能化设备的深入发展,越来越多的设备联网,越来越多的数据产生,海量数据分析与储存对网络带宽提出了巨大的挑战,而边缘计算就是为了解决这一问题。
目前,边缘计算在智能网联车和自动驾驶、虚拟现实、工业物联网、智能家居以及智慧城市领域均已有应用。
下面我们根据边缘计算的应用场景需求,结合飞凌嵌入式 LS1043A 系列OK1043A-C主板,来探讨下 边缘计算网关 的应用。
1、海量数据分析,边缘计算能力
边缘计算,是在终端设备附近靠近数据源的一侧进行的本地计算分析。终端设备会产生大量数据,这些数据有些是有价值的,有些是不需要进行分析的,通过在边缘设备上执行数据分析,实时让设备做出直接反应,同时将设备的大量状态数据进行过滤和优化,将有价值的数据再上传到云端,减少网络流量压力。
这就要求边缘计算网关,具备强大的数据处理能力,恩智浦推出的 面向智能边缘节点的能效最佳64位平台LS1043A,飞凌嵌入式基于LS1043A四核处理器设计 FET1043A-C核心板 ,完全满足边缘计算能力的需求,CPU内置面向硬件增强虚拟化的ARM SMMU,核心板主频16GHz,ARM Cortex-A53 架构,是一款价格适中,高性能、高能效的产品。
2、多场景应用,超强兼容性
边缘计算网关的应用场景越来越丰富,如工业物联网、智能家居以及智慧城市等行业的应用,有可能需要接不同类型或者接口的传感器,要求网关有很好的接口兼容性,还要求网关能兼容主流的设备和协议,便于企业低成本替换设备等。
以 OK1043A-C /FET1043A-C主板为例,其兼容性体现在以下几方面:
❶ 接口丰富多样
7路原生网口,2路USB30,1路miniPCIe,2路串口,满足各种行业需求。
❷ 通信方式多样(可扩展)
支持4G、ZigBee或Lora等通信方式,适用于多种应用场景。
❷ 支持Ubuntu系统,便于客户二次开发
OK1043A-C支持市面上嵌入式设备主流的Ubuntu系统中用户的应用程序,无需交叉编译即可直接运行在此主板上,支持丰富的第三方应用和插件,如 docker 、DPDK、LXC、内网穿透等,从而提高用户软件开发的效率。
3、庞大数据量接入,高性能网络功能
在很多应用场景中,边缘设备产生庞大的数据量要接入 边缘计算网关 ,从而要求边缘计算网关具备强劲的网络性能,拿飞凌LS系列OK1043A-C来说,网口支持1个10Gbps和6个1000Mbps。且OK1043A-C底板做了兼容性设计,可接LS1046A系列FET1046A-C核心板,使用光模块,保证更高的传输速率,提高响应速度。
4、工业级品质,应对复杂环境
在工业物联网,智能交通等行业,必须保证边缘设备的质量和稳定性,以保证边缘计算更好的服务。 FET1043A-C核心板 采用12层PCB设计,核心板和底板采用高速COMExpress板对板连接器,传输速率可达10GHz,为高速功能接口引出提供保障。主板温度适用于-40℃ ~+80℃ 宽温。
5、网络信息安全有保证
网络安全性一直以来都是物联网行业至关重要的话题,也将是一项长期的任务挑战。IoT的每个节点,从终端设备、边缘计算、网络,再到云计算,都要考虑安全处理。 LS1043A 的 QorIQLS1 系列都内置安全引擎,确保信息安全可靠。
5G商用化伊始,边缘计算机遇与挑战并行,市场需求的不断提高将会促进边缘计算设备的逐步提升,让我们拭目以待,迎接新的物联网时代。简介: 没有设备,也能立刻体验物联网平台的功能:使用物联网平台提供的“在线调试”功能,体验虚拟设备上云&设备数据存储分析的功能。
产品推荐:阿里云物联网开发者工具( IoT Studio ), 立刻免费体验吧!
你可能遇到以下情况:
1、手头没有开发板
2、还不懂“物联网云服务”怎么玩,想体验一下
3、设备端开发跟物联网云服务没跑通,不确定哪个环节出现问题
这时,你就需要用到“在线调试”功能来虚拟一个设备,详细步骤如下:
1、登陆物联网平台控制台 , 现在登入
2、左侧导航栏中,找到在线调试功能
3、开始设备上云开发,这个环节分为3个步骤:创建产品→创建设备→激活设备(使用在线调试)
31 创建产品
下方的都是默认选项,不用改动,点击完成,成功创建1个产品
32 产品和设备是包含与被包含的关系,我们创建成功产品后,即可在这个产品下添加设备
设备添加成功后,即d出设备的三元组(设备证书),这个三元组是全网唯一的设备身份校验要素
ProductKey:是物联网平台为产品颁发的全局唯一标识。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。
DeviceName:在注册设备时,自定义的或自动生成的设备名称,具备产品维度内的唯一性。该参数很重要,在设备认证以及通信中都会用到,因此需要您保管好。
DeviceSecret:物联网平台为设备颁发的设备密钥,和DeviceName成对出现。该参数很重要,在设备认证时会用到,因此需要您保管好并且不能泄露。
考虑设备实际生产时对安全和成本的不同需求,我们可以选择“一机一密”,或者“一型一密”。
一机一密:每个设备烧录其唯一的设备证书(ProductKey、DeviceName和DeviceSecret)。当设备与物联网平台建立连接时,物联网平台对其携带的设备证书信息进行认证。
一型一密:同一产品下所有设备可以烧录相同产品证书(即ProductKey和ProductSecret)。设备发送激活请求时,物联网平台进行产品身份确认,认证通过,下发该设备对应的DeviceSecret。
33 激活设备
我们发生几个开灯关灯的指令,就可以看到设备上报的数据:
4、使用物联网平台的“数据分析”功能存储数据
点击确定后,设备数据即成功存储
再点击“查看”,即可看到数据的存储
查看表结构
查看表数据
查询表数据
了解更多数据分析能力:
1、阿里云物联网平台数据分析服务主页
2、技术文档
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)