查看: 610|回复: 0
打印 上一主题 下一主题

基于OneNET服务器的智能垃圾桶

[复制链接]
  • TA的每日心情
    无聊
    2019-8-19 09:33
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    跳转到指定楼层
    楼主
    发表于 2019-8-10 17:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 我很飞 于 2019-8-13 11:25 编辑

    目录

    第1章 系统方案
    第2章 底层硬件设计 2.1底层硬件连接插上Arduino主板后,必须同时在连接5--26V 2A DC电源。原因是GPRS Shield开机电流和工作最多峰值电流需要最大2A,另一路供电口排针引出3.7--4.5V供电适合锂电池供电。GT-U7连接Serial2串口端??sim900模块连接Serial3串口端 表3-1 各模块名称功能汇总表
    ??
    序号
    ??
    模块名
    基本功能
    1
    GT-U7
    定位
    2
    Sim900
    通信
    3
    Mega2560
    信息的处理与传输
    sim900引脚图:
    3 底层软件设计3.1 概述
    Gps:通过模块获取到的位置信息进行解码,在进行度分转换
    Sim900模块:通过AT指令激活并连接网络,准备http报头,发送
    主要通过TCP传透方式与onenet连接

    3.2 程序主模块
    for (unsigned long start = millis(); millis() - start <1000;)??//一秒钟内不停扫描GPS信息
    ??{
    ? ? while(GPSget.available())??//串口获取到数据开始解析
    ? ? {
    ? ?? ?char c =GPSget.read(); //读取一个字节获取的数据
    ? ?? ?switch(c)? ?? ?? ?//判断该字节的值
    ? ?? ?{
    ? ?? ?case '$':? ?? ?? ?//若是$,则说明是一帧数据的开始
    ? ?? ? GPSget.readBytesUntil('*', nmeaSentence, 67);? ?
    ? ?? ? //GPSget.println(nmeaSentence);
    ? ?? ???latitude =parseGprmcLat(nmeaSentence); //获取纬度值 String
    ? ?? ???longitude =parseGprmcLon(nmeaSentence);//获取经度值??String
    ? ?? ? while(a<=3000)
    ? ?? ???{
    ? ?? ?? ? if((latitude> "")&&(longitude > ""))
    ? ?? ?? ? {
    ? ?? ?? ?? ?for(intc=0;c<=9;c++)
    ? ?? ?? ???lon_str[c]=longitude.charAt(c);
    ? ?? ?? ?? ?for(intb=0;b<=8;b++)
    ? ?? ?? ???lat_str=latitude.charAt(b);
    ? ?? ?? ?? ?break;
    ? ?? ?? ? }? ?
    ? ?? ???}? ???
    ? ?? ?}
    ? ? }
    ??}
    ??delay(3000);
    ? ???postGpsDataToOneNet(API_KEY,device_id,sensor_gps,lon_str,lat_str);
    ? ?? ?delay(5000);

    4 OneNET服务器端设计
    4.1 概述OneNET平台作为连接和数据的中心,能适应各种传感网络和通信网络,将面向智能家居、可穿戴设备、车联网、移动健康、智能创客等多个领域开放
    4.2 设计步骤
    ? ?? ?? ?? ?? ?? ?? ?? ?? ?登陆后进行设备添加
    5 微信小程序软件设计
    5.1 概述
    ? ?? ?? ?? ?? ?? ???通过调用api获取Onenet的数据和百度地图
    5.2 程序主模块
    wx.request({
    url: 'http://api.heclouds.com/devices/**********',
    header: {
    'content-type': 'application/x-www-form-urlencoded',
    'api-key': 'X3xnk9a***3Y9VNTNdKQE='
    },
    method: 'GET',
    success: function (res){
    console.log(res);
    that.setData({

    'markers': [


    6 系统设计总结
    ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 该系统主要不同在于与当下比较流行的微信小程序相结合
    ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???其中需把gps获取的字符串形式转化为字符数组格式


    附录1??底层嵌入式代码
    字数超标,详见附件

    附录2??微信小程序代码

    <

    2.? ?? ? 小程序获取服务器数据部分:(js)
    wx.request({
    url: 'http://api.heclouds.com/devices/**********',
    header: {
    'content-type': 'application/x-www-form-urlencoded',
    'api-key': 'X3xnk9a***3Y9VNTNdKQE='
    },
    method: 'GET',
    success: function (res){
    console.log(res);
    that.setData({

    'markers': [

    {
    id: 0,
    latitude: res.data.data.location.lat,
    longitude: res.data.data.location.lon,
    // alpha:0,
    }
    3.? ?? ? 窗口部分:(json)
    "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "智能垃圾桶方位图",
    "navigationBarTextStyle": "black"
    },
    "sitemapLocation": "sitemap.json"
    }
    从服务上获取的数据结果:(与硬件板块的结合)

    小程序上标记点的显示:


    GPRS+GPS+微信小程序.zip

    618.29 KB, 下载次数: 8

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

    本版积分规则

    热门推荐

    关于温湿度传感器在LCD显示上的问题
    关于温湿度传感器在LCD显
    我建立了一个程序,想要将dht11传感器得到的数据显示在LCD1602上,但是LCD显的都是乱
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    【Arduino】108种传感器模块系列实验(74)--- 4位LED数码管模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    (开源)ESP8266改装小风扇,app远程控制+天猫精灵控制
    (开源)ESP8266改装小风
    材料准备 [*]USB风扇一个 [*]ESP8266一块 [*]3.3继电器一块 拆解风扇 第一次,没有
    基于机器视觉的智能分拣机械臂
    基于机器视觉的智能分拣机
    本作品是一个基于机器视觉的智能机械臂操作平台,其采用atmega32单片机作为主控制系统
    Copyright ???2015-2016??Arduino中文社区??Powered by?Discuz! ??( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表