返回列表 发新帖

基于开发快的远程监控系统

[复制链接]
  • TA的每日心情
    开心
    2018-5-17 11:15
  • 签到天数: 2 天

    [LV.1]初来乍到

    6

    主题

    20

    帖子

    798

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    798
    QQ
    发表于 2018-4-21 16:55:55  | 显示全部楼层 | 阅读模式

    公开设备实时看 这是什么->

    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    22:41
    匿名用户
    通过微信控制多彩灯光
    17:16
    187****2226
    通过微信查询温湿度
    17:16
    187****2226
    通过微信查询温湿度
    17:15
    187****2226
    通过微信查询温湿度
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
    17:12
    187****2226
    通过微信控制多彩灯光
     

    马上注册,免费领取开发板,一周变智能硬件开发达人!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    基于开发快体验板的远程监控系统
    简介:
    实现的功能--手机和WIFI模块都连接阿里云上的MQTT服务器,手机用按钮实现远程控制一个继电器,然后WIFI模块采集的DHT11的温湿度,火焰情况检测,远程发给手机。
    开发前准备:
    1.开发快的ESP8266体验板一块
    2.阿里云服务器(可以买学生版9.9一个月)
    3.温湿度传感器一个
    4.火焰传感器一个
    5.继电器一个
    6.手机一部(Android4.0以上)
    7.3D打印机(可有可无,没有可以不要外壳)
    详细开发教程:
    硬件开发:温湿度传感器连接物联网体验板的gpio12,火焰传感器连接体验板的gpio14.(没开板的直接用排线连接即可)
    我是开了控制板,直接焊接物联网体验板就可以了,具体如图所示:
    1.jpg


    软件开发:
              1.    在阿里云官方购买阿里云服务器
              我购买的是轻量应用服务器
    2.jpg




    进入控制台
    3.jpg
    接下来远程云端电脑安装MQTT服务器
    如果项目上用MQTT,,,简直太方便了..........我们只自己设置标识就行了......额还有一些绑定信息,,,大大减轻了工作量
    现在看MQTT的安装---对了MQTT的服务器软件挺多的.....
    一开始我安装的是EMQ,不过没安装上,所以就选择上面的Apollo(MQTT服务器)
    4.jpg
    2.    安装MQTT服务器之后,开始Android APP开发
    我用的是Android studio 开发,直接取官网下载软件就好。每一句都有注释,直接贴代码:(详细工程代码见压缩包)
    public class MainActivityextends Activity {
       
        String TelephonyIMEI="";
       
        private MqttClient client;//client
        private MqttConnectOptions options;//配置
        MqttConnectThread mqttConnectThread = newMqttConnectThread();//连接服务器任务
        @Override
        protected void onCreate(BundlesavedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            TelephonyManager mTm =(TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);  
            TelephonyIMEI = mTm.getDeviceId();
           //Toast.makeText(getApplicationContext(), TelephonyIMEI, 500).show();
            MyMqttInit();//初始化配置MQTT客户端
            mqttConnectThread.start();//执行连接服务器任务
        }
       
        /*  初始化配置Mqtt  */
        private void MyMqttInit()
        {
            
            try
            {
                //(1)主机地址(2)客户端ID,一般以客户端唯一标识符(不能够和其它客户端重名)(3)最后一个参数是指数据保存在内存(具体保存什么数据,以后再说,其实现在我也不是很确定)
                client = newMqttClient("tcp://47.93.19.134:1883",TelephonyIMEI,newMemoryPersistence());
            } catch (MqttException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            options = newMqttConnectOptions();//MQTT的连接设置
            
            options.setCleanSession(true);//设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接
            
           options.setUserName("username");//设置连接的用户名(自己的服务器没有设置用户名)
            
           options.setPassword("password".toCharArray());//设置连接的密码(自己的服务器没有设置密码)
            
            options.setConnectionTimeout(10);// 设置连接超时时间单位为秒
            
            options.setKeepAliveInterval(20);// 设置会话心跳时间单位为秒 服务器会每隔1.5*20秒的时间向客户端发送个消息判断客户端是否在线,但这个方法并没有重连的机制
            
            client.setCallback(new MqttCallback() {
                @Override//获取消息会执行这里--arg0是主题,arg1是消息
                public void messageArrived(Stringarg0, MqttMessage arg1) throws Exception {
                    // TODO Auto-generated methodstub
                    final String topic = arg0;//主题
                    final String msgString =arg1.toString();//消息
                   
                    runOnUiThread(new Runnable(){//
                        public void run() {
                           Toast.makeText(getApplicationContext(),"主题:"+topic+"消息:"+msgString, 500).show();
                        }
                    });
                }
                
                @Override//订阅主题后会执行到这里
                public voiddeliveryComplete(IMqttDeliveryToken arg0) {
                    // TODO Auto-generated methodstub
                   
                }
                
                @Override//连接丢失后,会执行这里
                public voidconnectionLost(Throwable arg0) {
                    // TODO Auto-generated methodstub
                   
                }
            });
        }
       
       
        /*连接服务器任务*/
        class MqttConnectThread extends Thread
        {
            public void run()
            {
                try
                {
                    client.connect(options);//连接服务器,连接不上会阻塞在这
                   
                   client.subscribe("test",0);//设置(订阅)接收的主题,主题的级别是0
                   
                    runOnUiThread(new Runnable(){//
                        public void run() {
                            Toast.makeText(getApplicationContext(),"连接成功", 500).show();
                        }
                    });
                }
                catch (MqttSecurityException e)
                {
                    //安全问题连接失败
                }
                catch (MqttException e)
                {
                    //连接失败原因
                }
            }
    }
    如图
    5.jpg
    3.    体验板开发
    由于我是基于LUA开发的。
    第一步:刷LUA固件
    6.jpg
    固件烧写软件(见压缩包)
    自己已经下载好的固件链接:https://pan.baidu.com/s/1o8pAISy 密码:9zns
    7.jpg
    8.jpg
    4.    我们写lua用这个软件
    链接:https://pan.baidu.com/s/1htC6h6G密码:kvpv
    不要害怕新语言哈,,,使用使用就知道了....很好用,和c语言很接近,功能却很强哈,,其实咱们哈也用不到多少,,,,咱们是使用的
    9.jpg
    10.jpg
    11.jpg
    12.jpg
    13.jpg
    14.jpg
    开发软件界面如图示:
    15.jpg
    16.jpg
    17.jpg
    制作心得:
    开发快就是快,很容易就可以完成智能远程控制,非常方便。相比SDK开发还要快很多,感谢快开饭提供的体验板和小e开发板,让我灵感大发,每个人都可以让开发变得更简单哟!教程写的有不明白的地方欢迎咨询开发快账号:Friday~(25248)所有资料我都会压缩提供给官方包括开发工具。
    压缩包文件太大了,上传不了,压缩包请回帖,我发你们邮箱哈!

    2.jpg

    ESPlorer-LUA开发工具.zip

    3.33 MB, 下载次数: 6

    开发工具

    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    66

    积分

    冉冉新星

    Rank: 2

    积分
    66
    发表于 2018-5-14 10:16:50  | 显示全部楼层
    快速开发智能应用,很棒!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-5-17 11:15
  • 签到天数: 2 天

    [LV.1]初来乍到

    6

    主题

    20

    帖子

    798

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    798
    QQ
    发表于 2018-5-17 11:16:04  | 显示全部楼层
    15971446675 发表于 2018-5-14 10:16
    快速开发智能应用,很棒!

    谢谢
    回复 支持 反对

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关于我们
    开发快官网
    关于我们
    联系我们
    帮助中心
    开发者中心
    快速入门
    视频教程
    社区活动
    免费开发板
    开发者大赛
    关注我们
    官方微博
    官方空间
    快速回复 返回顶部 返回列表

    湘公网安备 43019002000310号