Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.aspx?winzoom=1
译者:Negan.L
向Azure 物联网中心连接particle photon网络设备

我的假期继续. 昨天我做了肩膀手术(肩关节冻结症).所以今天我对于Azune物联网中心很混乱. 我有一些设备放在我的桌子上-一些设备我从来没有真正探索过,我认为我会看一看如果我可以一些事情.
我之前得到了Particle Photon, 它等同于Tessel 2, LattePanda, Funduino, 和Onion Omega.一些日子之前我得到了 Onion Omega并用它来测我的血压并且显示在一块小的OLED屏幕上. 那很酷. 今晚,我将要尝试把Particle Photon在Azune物联网中心装好并接通电源用来监控.
Photon是一个微小的设备带有Wi-Fi模块.很容易安装并且它有一个基于云的带有非常多用c语言和Node.js写的例子的集成开发环境让你来使用.Particle Photon也有一个node.js的命令行.在那里你可以列举你的Photons,看到它们可用的函数,也可以叫做在互联网上的函数! 一个黑客的乐趣就在于此.
有一个叫做"blink an LED"的Hello world在Photon上. 它创造了一个云函数叫做”led”,约束于"ledToggle"方法. 那些云方法返回string参数,所以没有命令行开关的枚举类型 .
int led1 = D0;int led2 = D7;void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); Spark.function("led",ledToggle); digitalWrite(led1, LOW); digitalWrite(led2, LOW);}void loop() {}int ledToggle(String command) { if (command=="on") { digitalWrite(led1,HIGH); digitalWrite(led2,HIGH); return 1; } else if (command=="off") { digitalWrite(led1,LOW); digitalWrite(led2,LOW); return 0; } else { return -1; }} |
在命令行中我可以使用Particle命令行接口(CLI) 来枚举我的设备:
C:\Users\scott>particle list
hansel_photon [390039000647xxxxxxxxxxx] (Photon) is online
Functions:
int led(String args)
你看,它不仅仅可以枚举, 也能云方法关闭设备.我爱死这个方式了.
我可以从基于控制台的Particle Photon的云得到 API 密钥.他们使用我的设备ID和身份验证,我可以称作这个为方法…随着一个HTTP请求!做到如此是多么容易呀!
C:\Users\scott\>curl https://api.particle.io/v1/devices/390039000647xxxxxxxxx/led -d access_token=31fa2e6f --insecure -d arg="on"{ "id": "390039000647xxxxxxxxx", "last_app": "", "connected": true, "return_value": 1} |
在这个时刻,LED灯亮着则Particle Photon启动了.我正要去改变代码并且用Particle的在线代码编辑器添加一些遥测法.

他们做了一个非常棒的在线代码编辑器,但是我也可以在本地编辑和编译代码:
C:\Users\scott\Desktop>particle compile photon webconnected.ino Compiling code for photon Including:
webconnected.ino
attempting to compile firmware
downloading binary from: /v1/binaries/5858b74667ddf87fb2a2df8f
saving to: photon_firmware_1482209089877.bin
Memory use:
text data bss dec hex filename
6156 12 1488 7656 1de8
Compile succeeded.
Saved firmware to: C:\Users\scott\Desktop\photon_firmware_1482209089877.bin
我将会改变代码来声明一个事件当我打开LED的时候.
if (command=="on") { digitalWrite(led1,HIGH); digitalWrite(led2,HIGH); String data = "Amazing! Some Data would be here! The light is on."; Particle.publish("ledBlinked", data); return 1;} |
我重新回到 http://console.particle.io 看这些事件如何在网页上活着.

Particle也支持谷歌云和Azure物联网中心一体化.Azune物联网中心允许你管理数以亿万计的设备和数以亿万计的事件.我只做了一些事情,但是我们都要在一些地方开始.;)
我在我的Azure 帐号中创建了一个免费的Azure物联网中心…
![]()
为我的Particle设备做了一个共享访问政策.
![]()
在它们的集成系统中我被告知Particle关于Azure的事.

Azure物联网SDK在GitHub上的链接是 https://github.com/Azure/azure-iot-sdks/releases同时有a Windows-based Azure IoT Explorer和a command-line one called IoT Hub Explorer.
我从Azure Portal帐号使用连接字符串用登入物联网中心浏览器:
iothub-explorer login "HostName=HanselIoT.azure-devices.net;SharedAccessKeyName=particle-iot-hub;SharedAccessKey=rdWUVMXs="
之后我将会通过设备ID和共享访问政策的连接字符串运行"iothub-explorer monitor-events". Monitor-events很酷因为它将要搁置并且只是输出事件就好像他们正在流经整个系统.

所以我可以在Particle上使用他们的云呼叫方法, 以及从Azure物联网中心检测事件 . 我可以探索诊断数据以及查询巨大数量的设备到云的数据,潜在流入我的硬件设备.
物联网中心限制对于免费/爱好者 用户作为学习去发展是非常慷慨的.我到目前为止还没有支付任何钱.然而, 它可以按比例排列千万级短信每秒每单元!那意味着百万级信息传给你每秒,只要你需要.
我敢肯定我看到了物联网中心解决方案的价值就好像这在你在设备上得到一个以上的设备时将快速合计.文本文件不是真的估计.即使我只是用物联网连接我的房子,这也很好拥有所有数据流入一个我可以管理和私密查询的中心.
Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)的更多相关文章
- Awesome Big Data List
https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...
- Azure IoT 技术研究系列1-入门篇
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...
- 微软提供的 Web 版 Raspberry Pi 模拟器
https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-raspberry-pi-web-simulator-get-started#overvi ...
- Azure IoT 技术研究系列1
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...
- Microsoft IoT Starter Kit 开发初体验
1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...
- Microsoft IoT Starter Kit 开发初体验-反馈控制与数据存储
在上一篇文章<Microsoft IoT Starter Kit 开发初体验>中,讲述了微软中国发布的Microsoft IoT Starter Kit所包含的硬件介绍.开发环境搭建.硬件 ...
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...
- Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub
上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...
- Azure IoT 技术研究系列3-设备到云、云到设备通信
上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...
随机推荐
- asynchttpClient框架关于多文件批量上传的问题,改用xUtil
RequestParams params = new RequestParams(); params.add("ordernum",ordernum); params.add(&q ...
- Arduino单片机使用和开发问题记录
1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上查遇到这个问题的人比较多,有说驱动问题的,有 ...
- [原创]Java静态代码检查工具介绍
[原创]Java静态代码检查工具介绍 一 什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数 ...
- MongoDB与Mysql常用命令解释
原文 本文旨在介绍MongoDB,Mysql的常用命令:将MongoDB 和传统的关系型数据库的常用命令对照起来学习,更加便于记忆和理解. MongoDB是由数据库(database/reposito ...
- RFID 基础/分类/编码/调制/传输
不同频段的RFID产品会有不同的特性,本文详细介绍了无源的感应器在不同工作频率产品的特性以及主要的应用. 目前定义RFID产品的工作频率有低频.高频和甚高频的频率范围内的符合不同标准的不同的产品,而且 ...
- Javascript中的Prototype到底是啥
Javascript也是面向对象的语言,但它是一种基于原型Prototype的语言,而不是基于类的语言.在Javascript中,类和对象看起来没有太多的区别. 通常,这样创建一个对象: functi ...
- 忘记hmailiserver邮件服务器后台登陆密码解决
进入后台进行hmailiserver的相关设置,发现登陆密码忘记了,如下图:
- [算法导论]红黑树实现(插入和删除) @ Python
class RBTree: def __init__(self): self.nil = RBTreeNode(0) self.root = self.nil class RBTreeNode: de ...
- Java 字符的验证
package net.hlj.common.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @ ...
- 新建一个Activity
如果只是新建一个class,还得自己添加XML,好不麻烦: eclipse里可以直接new other Andriod activity,ADT还是很强发滴.哈哈.