手机变身IoT设备之地理位置上报

简介: 写在前面继上一篇手机秒变IoT设备?——巧妙利用阿里云物联网平台, 作者发现自己吹了个牛,五行代码根本做不到。作者阉割了一些代码才勉强可以实现,看一下效果:前情回顾温故而知新一、上一篇文章介绍的是一个叫Simulator的东西,有两个构造方法:传入productKey(平台创建)、de...

写在前面

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

前情回顾

温故而知新

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

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

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

开始操作

8说了,开冲

image

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

image
目录结构如上图所示
将上一篇文章中的代码移植过来,另外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中已经废弃了,但是还站着坑(墙裂吐槽)
    image

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

最后

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

最后的最后

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

目录
相关文章
|
7月前
|
传感器 物联网 网络架构
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
105 2
|
7月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
2月前
|
存储 Android开发 网络架构
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
本文介绍了N1盒子的刷机教程,包括未刷机和已刷其他系统的N1。教程详细列出了所需工具和具体步骤,如下载工具包、制作安装盘、打开ADB模式、降级、刷入新系统等,确保用户能够顺利完成刷机操作。对于已刷第三方系统的N1,还提供了解决USB线不被识别、驱动问题及供电不足等常见问题的方法。
279 1
点心云-N1盒子、机顶盒、手机等设备-小白保姆式刷机教程
|
1月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
70 1
|
2月前
|
人工智能 安全 物联网
|
4月前
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
|
3月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
69 0
|
4月前
|
存储 SQL JSON
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
|
6月前
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
|
7月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。