第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

谷歌Android things物聯(lián)網(wǎng)硬件接入阿里云IoT物聯(lián)網(wǎng)套件入門實戰(zhàn)

標簽:
Java Android

谷歌Android things物联网硬件接入阿里云IoT物联网套件入门实战

1.硬件设备

1.1 项目设备列表

设备名 图片 备注 购买地址
NXP Pico i.MX7D开发板 Android things系统1.0 2017谷歌开发者大会赠送
DHT12温湿度传感器 I2C数据通信方式 淘宝
ZE08-CH2O甲醛浓度 UART数据通信方式 淘宝

1.2 NXP Pico i.MX7D开发板针脚介绍

NXP Pico i.MX7D 完整I/O接口文档

image.png | left | 609x555

1.3 设备接线示意图

image | left | 558x465

2.阿里云IoT物联网套件

2.1 开通阿里云IoT物联网套件

IoT物联网套件官网地址

2.2 创建高级版产品

添加产品属性定义

属性名 标识符 数据类型 描述
温度 temperature float DHT12传感器采集
湿度 humidity float DHT12传感器采集
甲醛浓度 ch2o double ZE08传感器采集

image | left

2.3 Android things设备端开发

a) 使用Android Studio创建Android things工程,添加网络权限

<uses-permission android:name="android.permission.INTERNET" />

b) gradle引入eclipse.paho.mqtt

implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'

c) 通过I2C读取DHT12数据

private void readDataFromI2C() {

        try {

            byte[] data = new byte[5];
            i2cDevice.readRegBuffer(0x00, data, data.length);

            // check data
            if ((data[0] + data[1] + data[2] + data[3]) % 256 != data[4]) {
                humidity = temperature = 0;
                return;
            }
            // humidity data
            humidity = Double.valueOf(String.valueOf(data[0]) + "." + String.valueOf(data[1]));
            Log.d(TAG, "humidity: " + humidity);
            // temperature data
            if (data[3] < 128) {
                temperature = Double.valueOf(String.valueOf(data[2]) + "." + String.valueOf(data[3]));
            } else {
                temperature = Double.valueOf("-" + String.valueOf(data[2]) + "." + String.valueOf(data[3] - 128));
            }

            Log.d(TAG, "temperature: " + temperature);

        } catch (IOException e) {
            Log.e(TAG, "readDataFromI2C error " + e.getMessage(), e);
        }

    }

d) 通过UART获取Ze08CH2O数据

try {
                // data buffer
                byte[] buffer = new byte[9];

                while (uartDevice.read(buffer, buffer.length) > 0) {

                    if (checkSum(buffer)) {
                        ppbCh2o = buffer[4] * 256 + buffer[5];
                        ch2o = ppbCh2o / 66.64 * 0.08;
                    } else {
                        ch2o = ppbCh2o = 0;
                    }
                    Log.d(TAG, "ch2o: " + ch2o);
                }

            } catch (IOException e) {
                Log.e(TAG, "Ze08CH2O read data error " + e.getMessage(), e);
            }

e) 创建阿里云IoT连接,上报数据


/*
payload格式
{
  "id": 123243,
  "params": {
    "temperature": 25.6,
    "humidity": 60.3,
    "ch2o": 0.048
  },
  "method": "thing.event.property.post"
}
*/
MqttMessage message = new MqttMessage(payload.getBytes("utf-8"));
message.setQos(1);

String pubTopic = "/sys/" + productKey + "/" + deviceName + "/thing/event/property/post";

mqttClient.publish(pubTopic, message);

2.4 云端控制台实时数据

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

image | left

3. 项目源代码

GitHub 传送门: https://github.com/iot-blog/aliyun-iot-android-things-nxp

點擊查看更多內(nèi)容
3人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消