写在前面

继上一篇手机秒变IoT设备?——巧妙利用阿里云物联网平台, 作者发现自己吹了个牛,五行代码根本做不到。作者阉割了一些代码才勉强可以实现,看一下效果:

前情回顾

温故而知新

一、上一篇文章介绍的是一个叫Simulator的东西,有两个构造方法:

  1. 传入productKey(平台创建)、deviceName(自己填写),该方法会自动为你在productKey下创建一个设备并在本地记录三元组
  2. 传入productKey、deviceName、deviceSecret,该方法会直接使用此三元组

二、调用simulator的connect方法可以凭借三元组连接物联网平台,并可以设置一个受到消息时的回调方法
三、调用uplink方法进行数据上报,我们上报的是一个地理位置属性,可以通过android的API获取经纬度

开始操作

8说了,开冲

一、环境搭建
  1. 下载android studio,傻瓜式操作: 下一步,下一步,直到最终创建好了一个安卓项目。作者创建的是空的android项目
  2. 激活开发者选项(作者的手机是mix2,设置里我的设备>全部参数 连续点击MIUI版本)
  3. 进入设置>更多设置 找到开发者选项, 打开开发者选项、usb调试、usb安装
  4. usb线连接手机和电脑,运行第一步创建的app,应该能发现Connected Devices里有你的手机了,如果没有的话你也可以Create New Virtual Device。傻瓜式操作,下一步到底。
二、编写代码


目录结构如上图所示
将上一篇文章中的代码移植过来,另外android相关的代码写了四个类。
详细代码将扔到github或者进群联系我~

  1. LocationUtils: 网上抄的一个调用android获取经纬度的工具类,提供两种方式1)网络定位 2)gps定位
  2. LocationService:安卓的Service框架,可以后台运行。在这里进行一些初始化和地理位置定时上报
  3. CoordinateTransformUtil:网上抄的一个坐标系转换工具,安卓获取的经纬度好像四wgs84的坐标系,需要转换一下国测局02坐标系
  4. MainActivity: android的Activity, 简单理解为一个页面吧
  5. 重要改动(阉割) Simulator去掉了pk,dn的构造方法,也就是说不支持自动创建设备了。原因是自动创建设备依赖com.aliyun.api.gateway:sdk-core-java:1.1.0,通过HttpClient调用阿里云Iot的ApiGateway的http接口创建设备。HttpClient在高API Level的android sdk中已经废弃了,但是还站着坑(墙裂吐槽)



程序运行起来之后会使用到INSTANCE字段,而默认加载的是android.jar中的AllowHostnameVerifier类,报错找不到static的INSTANCE字段【笋干爆炸】,总之作者花了好长时间都解决不了这个问题,干脆手起刀落先把自动创建设备的功能阉了。以后有时间一定弄一版功能健全的。

最后

app凭借三元组变身IoT设备,打开app,可以看到经纬度开始上报,设备上线了~。后续根据二维数据分析产品可以进行一些设备的查找,轨迹查看,围栏操作等(即将上线)。
轨迹大致是这样

最后的最后

楼主更新太慢了,产品更新也太慢了。因为实在是太缺前端了,楼主最近在学react。。。请各位原谅~~

手机变身IoT设备之地理位置上报相关推荐

  1. nb-iot链路层加密_Google为低端Android手机和IoT设备创建了更快的加密

    nb-iot链路层加密 Google谷歌 Low-resource Android phones and IoT devices don't have the processing power to ...

  2. 华为IOT设备消息上报和消息下发验证

    1.设备注册 在华为IOT平台设备接入模块,注册一个设备,填写下图所示信息, 可以把设备的密钥复制下来,并保存起来,后续与华为IOT平台通信将会使用到, 2.消息上报主题 系统默认消息上报主题:$oc ...

  3. 阿里云物联网Iot设备上下线状态数据流转的设置

    要想通过物联网平台实现远程监控设备,那么就要建立监控端设备(比如手机)和被监控端设备的数据交互,在阿里云物联网平台完成这个交互功能的方法就是建立两个设备之间的数据流转,对于设备要流转的物模型数据,阿里 ...

  4. 输变电设备物联网传感器数据通信规约_M2M通信,实现小程序App和IoT设备数据实时同步和控制...

    在物联网场景中我们经常会遇到手机App和智能设备实时同步状态,App控制设备行为的需求.通过IoT物联网平台的规则引擎Topic转发(M2M)功能,即可以轻松实现App和智能设备之间通信. 1 产品开 ...

  5. FortiGuard 实验室报告:全球受攻击的IoT设备呈指数级增长

    如果物联网制造商不能确保其设备的绝对安全,对数字经济的潜在影响将是毁灭性的. 在2016年第四季度,以物联网(IoT)设备为目标和源头的攻击活动开始占据新闻头条.不安全的物联网设备成为威胁实施者眼中唾 ...

  6. mqtt 获取 状态_MQTT设备接入及上报数据的命令行模拟器(Java)

    [小宅按]本文提供了两款MQTT模拟器,指导使用模拟器来模拟MQTT设备接入IoT平台及上报数据.附件bmqtt-client.rar为UI版,附件bmqtt-client-shell.rar为命令行 ...

  7. android webserver mysql,Android手机变身Web服务器,BitWebServer简单评测

    昨晚逛Play商店发现居然有这软件,支持lighttpd.php.mysql,可以让Android手机变身Web服务器,觉得很有意思,果断下了个玩玩~~ 随便放了一个静态页面,想看效果的可以戳 222 ...

  8. 同步电脑与手机,让手机变身无线Modem

    同步电脑与手机,让手机变身无线Modem 你是否有过这样的经历:当在外面急需上网收发邮件.办理业务时,却只能无奈地望着你的笔记本电脑叹息,重要的生意.宝贵的订单--就这样被错过!在WiFi.3G网络还 ...

  9. 华为云IoT设备接入服务全体验

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...

最新文章

  1. 查看linux文件的权限:ls -l 文件名称
  2. osm2mysql_安装部署MySQL主从复制
  3. php分页技术的作用,分页原理技术细节剖析(php+mysql)实例
  4. Macbook pro笔记本键盘失灵了(u,i,o,j,k,l,k,m无效了)解决办法
  5. 王者非法进入服务器维护封号,王者荣耀哪些行为会被封号 违规封号行为汇总...
  6. MongoDB的日志系统
  7. C#验证类 可验证:邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP
  8. 2016-7-3 linux学习笔记
  9. 工厂供电技术实训设备QY-PGD19
  10. 关于路由表,ARP表,MAC表的一些理解
  11. 用这几款软件轻松自动识别图片文字,快码住
  12. linux rar文件怎么解压_Linux下rar压缩包的解压方法
  13. 转换字母大小写(小写转大写)
  14. 实时的软件生成 —— Prompt 编程打通低代码的最后一公里?
  15. 发现一个好用的MySQL数据库管理工具
  16. mysql memory 与redis_memory和redis
  17. 大学计算机信息技术实验教程,计算机信息技术实验教程.pdf
  18. linux 进入recovery模式,recovery模式怎么进入,教您recovery模式怎么进入
  19. 【保研夏令营经验贴】2021武汉大学国家网络安全学院+华中科技大学网络空间安全学院+华中科技大学武汉光电国家研究中心
  20. [附源码]java毕业设计-在线排课系统

热门文章

  1. [UVA315]Network(tarjan, 求割点)
  2. Nagios显示器mysql定从库: libmysqlclient.so.18: cannot open shared object file: No such
  3. struts2整合uploadify插件怎样传参数
  4. 我的bolg,我的收获(MVC首次接触)
  5. Android图片转换类 1. Bitmap去色,转换为黑白的灰度图, 2. Bitmap图片加圆角效果
  6. 基于 Windows Mobile 的 Pocket PC 和 Smartphone 的开发工具简介
  7. shell中的expect命令
  8. Spring Boot 单例模式中依赖注入问题
  9. c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言
  10. const修饰是指针和常量