物联网课程设计:环境监测系统设计与实现——APP部分(socket通信、蓝牙通信两种)

本文是作者本科的实训作业,底层硬件是同组小伙伴所做,本人主要负责上位机和APP,会在本账号上发布上位机和APP的讲解和工程文件,供大家参考。

        本设计主要需要两块CC2530单片机、蓝牙模块、WiFi模块、水质传感器、浊度传感器、安卓手机、无线路由器以及PC机等设备,如图所示。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54ix5YGa6aWt54ix5YGl6Lqr55qE56iL5bqP54y_,size_12,color_FFFFFF,t_70,g_se,x_16

 

         整个系统描述如下:

        水质传感器和其中一块单片机相连,浊度传感器和另一块单片机相连,两块单片机都各自连接了光照、温度、湿度传感器,单片机和安卓手机之间通过WiFi或蓝牙相连,安卓手机和电脑之间则借助无线路由器进行无线连接。

         单片机以固定的频率采集四个传感器的信息,然后将采集的信息加上帧头、帧尾、校验等内容,封装成一个数据帧,通过WiFi或蓝牙的方式将其发送给安卓手机。

        安卓手机端软件接收到单片机发送来的数据后,对数据帧中包含的数据进行识别、校验和提取,得到各个传感器的信息,显示在手机软件界面上,同时对传感器的信息进行再次封装,通过TCP或UDP协议发送给PC上位机。

        PC上位机接收到安卓手机发送来的数据之后,对数据帧中包含的数据进行识别、校验和提取,得到各个传感器的信息以及手机的ID号,然后根据ID号将信息分类显示在上位机界面上。

        APP所需要的模块如下:android.bluetooth包(蓝牙API都在这),socket通信(在与底层硬件连接时,app为服务端;与上位机连接时为客户端),其他UI组件(画图、显示数据这些)

        系统关键函数如下:

1.蓝牙配对

private void bluetoothStart(NetConnection net) {
        //建立蓝牙连接
        final BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        if (!bluetoothAdapter.isEnabled()) {
            bluetoothAdapter.enable();
        }
        Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
        String dstDeviceName = net.getBluetoothDeviceName();
        BluetoothDevice dstDevice = null;
        for (BluetoothDevice device : pairedDevices) {
            if (device.getName().trim().equals(dstDeviceName.trim())) {
                dstDevice = device;
                break;
            }
   
  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

健身版程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值