2

使用4G通信模块和MQTT协议,完成物联网设备开发。 - lorem万俟

 1 year ago
source link: https://www.cnblogs.com/loremmoqi/p/17400418.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用4G通信模块和MQTT协议,完成物联网设备开发。

(1)安装并使用4G模块通信模块,建立microPython开发环境;
(2)使用提供的Demo开发例程,使用MQTT传输协议连接阿里或腾讯网站,完成物联网设备开发。
(3)将温湿度信息上传到网站;
(4)手机APP查看数

一、这是我之前写关于阿里云怎么在线调试设备的。

这是第一步,在阿里云平台创建产品和设备,用来将实际的设备数据显示到云平台的物理模型上。
在线调试连接阿里云(产品和设备创建)
今天讲一下怎么用阿里云和自制安卓app来实现数据云流转,即数据从实际设备流传到手机app。

二、思路:

1.设备获取到温湿度数据并上传阿里云,能够在阿里云的设备里面的物理模型看到数据显示更新。
2.此时设备获取的数据上传到阿里云平台了
3.然后将云平台的数据流转到Android做的app,就能够手机监测温湿度了。

三、硬件:用的Quecpython的EC800X。

image

1.上面有现成的温湿度模块AHT20,可以直接用,也有官方的demo。
2.这个使用需要用QPYcome去下载固件之后才能烧程序。程序开发可以用pycharm或者vscode都行。
3.Quecpython还有4G模块,写好程序,直接插卡就能够连接云平台。

四、Quecpython的工作

程序:把demo放进去跑一下就得了。(建议一开始不要用main命名文件跑)

五、上传阿里云

教程:https://www.cnblogs.com/loremmoqi/p/16271886.html

六、设备能够正常在线之后,就可以看看物模型是否有显示。

连接之后会发现设备test1在线,并且能够看到物理模型有数据显示。

image
image
image

七、实现数据云流转

这里可以看我的另外一篇博客,专门整的云流转。
阿里云数据云流转

八、写Android(安卓)app

主要在于解析json数据格式

  private void parseJsonobj(String mData){
        try{
            JSONObject mJSONObjectData = new JSONObject(mData);
            JSONObject mItemJson = mJSONObjectData.getJSONObject("items");


            JSONObject mHumiJson = mItemJson.getJSONObject("CurrentHumidity");
            double mHumiData = mHumiJson.getDouble("value");
            String mHumiDataStr = String.format("%.1f",mHumiData);
            JSONObject mTempJson = mItemJson.getJSONObject("CurrentTemperature");
            double mTempData = mTempJson.getDouble("value");
            String mTempDataStr = String.format("%.1f",mTempData);

            new Thread(new Runnable() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            mHumiTv.setText("湿度:"+ mHumiDataStr +" %");
                            mTempTv.setText("温度:"+ mTempDataStr +" ℃");
                        }
                    });
                }
            }).start();

            Log.d(TAG,"接收到云流转");
        }catch (JSONException e){
            e.printStackTrace();
        }
    }

接收到云流转数据

image

手机app也能够收到数据:

百度网盘链接
提取码:3x69


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK