摘要: 手机秒变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艾特群主要代码
How to use
用法看起来是比较简单的,唯一需要的是三个关键key:
- productKey (传入到Simulator构造方法里)
- AppKey (配置到api.json)
- AppSecret(配置到api.json)
这三个key不需要编码,上阿里云申请就可以。请看分解动作:
productKey
- 访问阿里云物联网控制台创建一个高级版产品(高级版也不收费,功能更强大), 分类选择自定义,后续我们为他定义功能。
- 查看你的产品,在功能定义里添加一个地理位置功能(其他类型中搜索后任选一个)
- 敲黑板!! 拿出小本本记住你的ProductKey
AppKey&AppSecret
- 访问物联网开发者平台控制台创建一个自定义项目
- 进入你的项目,点击左侧菜单栏软件开发>web应用, 创建一个web应用(前端应用)
- 点击进入你的web应用,能看到AppKey和AppSecret
- 敲黑板!! 拿出小本本记住你的AppKey和AppSecret
Ready?go!
-
参数都设置好之后运行程序。
-
在在空间数据可视化中创建一个二维场景,选择你之前创建的产品。
-
一切顺利的话你可以看到如下画面
不好意思设备名填了girlFriend - -,并设置到了海里。
当然你也可以用来统计你的客户端数量(用户数)和消息收发情况
enjoy!
本文作者:侯吉
网友评论