手机秒变IoT设备?——巧妙利用阿里云物联网平台

摘要: 手机秒变IoT设备?什么?嵌入五行代码可以实现用户定位,用户在线数量统计,还能和云端消息交互?免费的MQ?谁用谁知道~

作者序

什么?嵌入五行代码可以实现用户定位,用户在线数量统计,还能和云端消息交互!

没错得益于阿里云物联网套件创建设备免费,消息收费也只有百万消息三块六(先使用后付费,不满不要钱),尤其对于学生党来说,基本是用不了这么多,也就意味着免费!(学生党福音[手动滑稽])

Talk is cheap,show me the code

public static void main(String[] args) {
 //去阿里云官网上创建一个产品,设置好地理位置属性。可以变相用做分组
 String productKey = "<your productKey>";
 //english name only
 String deviceName = "anyDeviceName";
 //自动创建设备的构造方法
 Simulator simulator = new Simulator(productKey, deviceName);
 //如果已经有了三元组(productKey, deviceName, deviceSecret)可以使用下面的构造方法
 // Simulator simulator = new Simulator("<your productKey>", "<your deviceName>", "<your deviceSecret>");
 simulator.connect(msgJson -> {
 System.out.println("received: " + msgJson);
 //可以变相当成mq使用,执行收到消息之后的逻辑
 });
 //可以放在带有定位的设备中,手机,手表等等。通过api获取经纬度上报
 UplinkMessage uplinkMessage = new UplinkMessage()
 .put("GeoLocation", new GeoLocation(122.250852f,30.193851f, 12f, 2));
 //可以根据产品定义上报额外属性
 //.put("PM25", 60)
 //.put("CO2Value", 123)
 //.put("HeatSwitch", 0)
 //.put("LightSwitch", 1);
 simulator.uplink(uplinkMessage);
 }

(咳咳,精简一下差不多能五行。)同学们看一下代码里的注释,麻雀虽小,五脏俱全呢。

整体目录结构是这样的,不久就放到github上,迫切需要的烙铁可以进钉钉群21939141艾特群主要代码

手机秒变IoT设备?——巧妙利用阿里云物联网平台

How to use

用法看起来是比较简单的,唯一需要的是三个关键key:

  1. productKey (传入到Simulator构造方法里)
  2. AppKey (配置到api.json)
  3. AppSecret(配置到api.json)

这三个key不需要编码,上阿里云申请就可以。请看分解动作:

productKey

  1. 访问阿里云物联网控制台创建一个高级版产品(高级版也不收费,功能更强大), 分类选择自定义,后续我们为他定义功能。
  2. 查看你的产品,在功能定义里添加一个地理位置功能(其他类型中搜索后任选一个)
  3. 敲黑板!! 拿出小本本记住你的ProductKey

AppKey&AppSecret

  1. 访问物联网开发者平台控制台创建一个自定义项目
  2. 进入你的项目,点击左侧菜单栏软件开发>web应用, 创建一个web应用(前端应用)
  3. 点击进入你的web应用,能看到AppKey和AppSecret
  4. 敲黑板!! 拿出小本本记住你的AppKeyAppSecret

Ready?go!

  1. 参数都设置好之后运行程序。
  2. 在在空间数据可视化中创建一个二维场景,选择你之前创建的产品。
  3. 一切顺利的话你可以看到如下画面

手机秒变IoT设备?——巧妙利用阿里云物联网平台

不好意思设备名填了girlFriend - -,并设置到了海里。

当然你也可以用来统计你的客户端数量(用户数)和消息收发情况

手机秒变IoT设备?——巧妙利用阿里云物联网平台

enjoy!

作者:侯吉

相关推荐