将Android Things与阿里云集成,轻松实现物联网项目

将Android Things与阿里云集成,轻松实现物联网项目,第1张

在本文中,我们将向您展示如何使用阿里云IoT平台轻松将Android Things连接到您的物联网(IoT)网络,我们将为该项目构造一个示例:功能性甲醛和温度传感器。有些人可能不了解Android Things,简单来说, 它就是让开发者可以使用Android开发工具开发嵌入式设备

项目设备清单

NXP iMX7D

设备接线图

在设置硬件之后,是时候在阿里云IoT平台上配置软件了。

首先,导航到物联网控制台并激活阿里云IoT。创建高级产品并添加产品属性定义:

Android Things设备开发

1、使用Android Studio创建Android Things项目,并授予网络权限

2、将“eclipsepahomqtt”存储库添加到gradle

3、通过I2C读取DHT12数据

4、通过UART获取Ze08CH2O数据

5、创建阿里云IoT连接并报告数据

设备启动后,您可以在阿里云IoT控制台上查看设备的实时数据, 设备管理 - >运行状态

此项目在GIT上的地址是:>

1)工程师其实是一个泛称,一个人搞iOS开发可以被称为iOS开发工程师,搞Android开发可以被称为Android开发工程师。

2)其实就是说某人是搞什么相关工作的,物联网开发工程师,即做物联网开发。

3)物联网开发嘛,我们以智能家居来举例吧,就是把你的电视、冰箱、洗衣机、空调、微波炉等都像手机一样连入互联网,工程师就是为此提供技术支持的。

4)麦子学院的“物联网开发”便是教你成为物联网终端工程师的(对,和开发没关系)。

5)当然,工程师也可能是一种尊称。

随着移动互联网的发展,尤其在5G标准逐渐落地的大背景下,人工智能和App产品的结合是一个必然的发展趋势,而且移动互联网、物联网和人工智能的结合将是未来一个重要的发展方向,移动互联网在5G时代与物联网将进一步融合,一系列相关产品也会被陆续推向市场。

开发一款智能化的App需要一个开发团队,通常情况下需要产品经理、UI设计、架构师、项目经理、前端开发(Android开发、iOS开发、Web前端开发)、后端开发、测试工程师等。人工智能相关技术将主要在后端开发中体现,包括数据的收集、整理、分析和决策等 *** 作。当然,通过App进行数据收集本身需要考虑到一些风险,要符合相关的互联网规定,另外对于数据的安全保护要有一套完整的策略方案。

对于开发智能化App需要掌握的技术可以总结为以下三个部分:

第一:前端开发知识。前端开发知识包括Web前端和移动端,其中Web前端的开发需要使用到Html、CSS和JavaScript,移动端开发需要学习Android开发和iOS开发,Android开发需要学习Java语言(或kotlin),而iOS开发需要学习OC(或Swift)。

第二:后端开发知识。服务端开发可以采用多种编程语言来完成,可以采用Java、Python或者PHP等语言,其中Java的性能和扩展性比较好,Python的开发周期比较短,而PHP则比较居中。

第三:人工智能知识。对于智能化数据App通常需要掌握机器学习方面的内容,机器学习也是目前大数据分析的常见手段之一。机器学习需要学习相应的算法,并掌握机器学习的实现过程。机器学习的实现可以采用Python语言,实现过程包括数据收集、数据整理、算法设计、算法实现、算法验证和算法应用。

现在物联网信息发展迅速,许多考生也对物联网专业感兴趣,那么物联网专业怎么样呢下面是由我为大家整理的“物联网专业怎么样,好就业吗”,仅供参考,欢迎大家阅读。

物联网专业怎么样,好就业吗

物联网就是将一切可联网的设备,连接到互联网并以这种方式进行控制。就是物物相连的互联网,通过各种信息传感设备,实时采集任何需要监控、连接、互动的物体或过程,让声、光、热、电、力学、化学、生物、位置等各种信息,与互联网结合形成的一个巨大网络。物联网设备包含:电脑、智能手机、耳机、汽车、灯泡、冰箱、咖啡机、安全系统、警报系统等还有许多其他家庭和移动设备。让万事万物开口“说话”。

物联网工程专业开设基础课程和专业核心课程两大类,学生主要学习研究信息流、物质流和能量流彼此作用、相互转换的方法和技术,有着很强的工程实践特点。

学生需要学习包括计算机系列课程、信息与通信工程、模拟电子技术、物联网技术及应用、物联网安全技术等几十门课程,同时还要打牢坚实的数学和物理基础。另外,优秀的外语能力也是必备条件,因为目前物联网的研发、应用主要集中在欧美等国家,学生需要阅读外文资料和应对国际交流。

就业岗位:

物联网工程专业毕业生能在政府管理部门、科学研究机构、设计院、咨询公司、建筑工程公司、物业及能源管理、建筑节能设备及产品制造生产企业等单位从事建筑节能的研究、设计、施工、运行、监测与管理工作。具体岗位有android开发工程师、IOS开发工程师、高级java开发工程师、C++开发工程师、高级java工程师、嵌入式工程师、实施工程师、售后(前)技术支持工程师等,根据样本数据采集,截止2020年一月,该专业毕业的当年工资全国平均6000左右,毕业五年的月薪全国平均可达14500以上。该专业主要的就业行业为IT软件行业、互联网行业和系统集成类行业。

物联网专业虽然高薪好就业,但是还是适合本科之后继续深造,做一个高精尖的人才才能发挥更大的价值。

拓展阅读:物联网工程必备能力

1掌握和计算机科学与技术相关的基本理论知识;

2掌握物联网工程的分析和设计的基本方法;

3了解文献检索、资料查询的基本方法,具有一定的科学研究和实际工作能力;

4了解与物联网工程有关的法规;

5能够运用学习知识和外文阅读能力查阅外文资料;

6掌握文献检索、资料查询的基本方法,具有获取信息的能力。

万物互联的物联网时代的已经来临,ble蓝牙开发在其中扮演着举重若轻的角色。最近刚好闲一点,抽时间梳理下这块的知识点。

涉及ble蓝牙通讯的客户端(开启、扫描、连接、发送和接收数据、分包解包)和服务端(初始化广播数据、开始广播、配置Services、Server回调 *** 作)整个环节以及一些常见的问题即踩过的一些坑。

比如
1、在Android不同版本或不同手机的适配问题,扫描不到蓝牙设备
2、如何避免ble蓝牙连接出现133错误?
3、单次写的数据大小有20字节限制,如何发送长数据

蓝牙有传统(经典)蓝牙和低功耗蓝牙BLE(Bluetooth Low Energy)之分,两者的开发的API不一样,本文主讲Ble蓝牙开发,传统蓝牙不展开,有需要的可以自行了解。

相对传统蓝牙,BLE低功耗蓝牙,主要特点是快速搜索,快速连接,超低功耗保持连接和数据传输。

客户端

服务端

Android43(API Level 18)开始引入BLE的核心功能并提供了相应的 API。应用程序通过这些 API 扫描蓝牙设备、查询 services、读写设备的 characteristics(属性特征)等 *** 作。

BLE蓝牙协议是GATT协议, BLE相关类不多, 全都位于androidbluetooth包和androidbluetoothle包的几个类:
androidbluetooth
BluetoothGattService 包含多个Characteristic(属性特征值), 含有唯一的UUID作为标识
BluetoothGattCharacteristic 包含单个值和多个Descriptor, 含有唯一的UUID作为标识
BluetoothGattDescriptor 对Characteristic进行描述, 含有唯一的UUID作为标识

BluetoothGatt 客户端相关
BluetoothGattCallback 客户端连接回调
BluetoothGattServer 服务端相关
BluetoothGattServerCallback 服务端连接回调

androidbluetoothle
AdvertiseCallback 服务端的广播回调
AdvertiseData 服务端的广播数据
AdvertiseSettings 服务端的广播设置
BluetoothLeAdvertiser 服务端的广播

BluetoothLeScanner 客户端扫描相关(Android50新增)
ScanCallback 客户端扫描回调
ScanFilter 客户端扫描过滤
ScanRecord 客户端扫描结果的广播数据
ScanResult 客户端扫描结果
ScanSettings 客户端扫描设置

BLE设备分为两种设备: 客户端(也叫主机/中心设备/Central), 服务端(也叫从机/外围设备/peripheral)
客户端的核心类是 BluetoothGatt
服务端的核心类是 BluetoothGattServer 和 BluetoothLeAdvertiser
BLE数据的核心类是 BluetoothGattCharacteristic 和 BluetoothGattDescriptor

下面详细讲解下客户端和服务端的开发步骤流程

安卓手机涉及蓝牙权限问题,蓝牙开发需要在AndroidManifestxml文件中添加权限声明:

在搜索设备之前需要询问打开手机蓝牙:

注意: BLE设备地址是动态变化(每隔一段时间都会变化),而经典蓝牙设备是出厂就固定不变了!

通过扫描BLE设备,根据设备名称区分出目标设备targetDevice,下一步实现与目标设备的连接,在连接设备之前要停止搜索蓝牙;停止搜索一般需要一定的时间来完成,最好调用停止搜索函数之后加以100ms的延时,保证系统能够完全停止搜索蓝牙设备。停止搜索之后启动连接过程;

BLE蓝牙的连接方法相对简单只需调用connectGatt方法;

参数说明

与设备建立连接之后与设备通信,整个通信过程都是在BluetoothGattCallback的异步回调函数中完成;

BluetoothGattCallback中主要回调函数如下:

上述几个回调函数是BLE开发中不可缺少的;

当调用targetdDeviceconnectGatt(context, false, gattCallback)后系统会主动发起与BLE蓝牙设备的连接,若成功连接到设备将回调onConnectionStateChange方法,其处理过程如下:

判断newState == BluetoothGattSTATE_CONNECTED表明此时已经成功连接到设备;

mBluetoothGattdiscoverServices();

扫描BLE设备服务是安卓系统中关于BLE蓝牙开发的重要一步,一般在设备连接成功后调用,扫描到设备服务后回调onServicesDiscovered()函数,函数原型如下:

BLE蓝牙开发主要有负责通信的BluetoothGattService完成的。当且称为通信服务。通信服务通过硬件工程师提供的UUID获取。获取方式如下:

具体 *** 作方式如下:

开启监听,即建立与设备的通信的首发数据通道,BLE开发中只有当客户端成功开启监听后才能与服务端收发数据。开启监听的方式如下:

BLE单次写的数据量大小是有限制的, 通常是20字节 ,可以尝试通过requestMTU增大,但不保证能成功。分包写是一种解决方案,需要定义分包协议,假设每个包大小20字节,分两种包,数据包和非数据包。对于数据包,头两个字节表示包的序号,剩下的都填充数据。对于非数据包,主要是发送一些控制信息。
监听成功后通过向 writeCharacteristic写入数据实现与服务端的通信。写入方式如下:

其中:value一般为Hex格式指令,其内容由设备通信的蓝牙通信协议规定;

若写入指令成功则回调BluetoothGattCallback中的onCharacteristicWrite()方法,说明将数据已经发送给下位机;

若发送的数据符合通信协议,则服务端会向客户端回复相应的数据。发送的数据通过回调onCharacteristicChanged()方法获取,其处理方式如下:

通过向服务端发送指令获取服务端的回复数据,即可完成与设备的通信过程;

当与设备完成通信之后之后一定要断开与设备的连接。调用以下方法断开与设备的连接:

源码上传在CSDN上了,有需要的可以借鉴。

=====> Android蓝牙Ble通讯Demo示例源码–扫描,连接,发送和接收数据,分包解包

BLE单次写的数据量大小是有限制的,通常是20字节,可以尝试通过requestMTU增大,但不保证能成功。分包写是一种解决方案,需要定义分包协议,假设每个包大小20字节,分两种包,数据包和非数据包。对于数据包,头两个字节表示包的序号,剩下的都填充数据。对于非数据包,主要是发送一些控制信息。
总体流程如下:
1、定义通讯协议,如下(这里只是个举例,可以根据项目需求扩展)

2、封装通用发送数据接口(拆包)
该接口根据会发送数据内容按最大字节数拆分(一般20字节)放入队列,拆分完后,依次从队列里取出发送

3、封装通用接收数据接口(组包)
该接口根据从接收的数据按协议里的定义解析数据长度判读是否完整包,不是的话把每条消息累加起来

4、解析完整的数据包,进行业务逻辑处理

5、协议还可以引入加密解密,需要注意的选算法参数的时候,加密后的长度最好跟原数据长度一致,这样不会影响拆包组包

一般都是Android版本适配以及不同ROM机型(小米/红米、华为/荣耀等)(EMUI、MIUI、ColorOS等)的权限问题

蓝牙开发中有很多问题,要静下心分析问题,肯定可以解决的,一起加油;

物联网应用技术课程有物联网应用软件开发、物联网硬件基础、无线传感网应用技术等。

1、物联网应用技术核心课程有物联网概论、物联网硬件基础、无线传感网应用技术、RFID应用技术、M2M应用技术、物联网应用软件开发、Android移动开发等。

2、无线传感器网络是新一代的传感器网络,其发展和应用,将会给人类的生活和生产的各个领域带来深远影响。

3、物联网应用软件开发深入剖析了智能农业管理系统、智能家居系统、智能物流定位管理系统、智慧校园环境感知系统、智慧矿山综合监测系统和柔性制造物联网系统等六个物联网技术应用项目。

物联网应用技术职业能力:

1、物联网应用技术职业能力需要具备对新知识、新技能的学习能力和创新创业能力;具备无线传感网节点电子原理图和PCB图的绘制能力。

2、物联网应用技术职业能力需要具备无线传感网节电路板的焊接、检测、装配、调试和维修能力;具备无线传感网单片机程序的编程、下载和调试能力。

3、物联网应用技术职业能力需要具备物联网系统集成能力;具备物联网应用系统软件编程能力。

4、物联网应用技术职业能力需要具备物联网应用系统安装调试、故障分析和排除能力;了解物联网和无线传感网的基本概念和原理,了解物联网应用系统的基本组成和工作原理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/13361249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存