原文: 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 Explorera 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)的更多相关文章

  1. Awesome Big Data List

    https://github.com/onurakpolat/awesome-bigdata A curated list of awesome big data frameworks, resour ...

  2. Azure IoT 技术研究系列1-入门篇

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...

  3. 微软提供的 Web 版 Raspberry Pi 模拟器

    https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-raspberry-pi-web-simulator-get-started#overvi ...

  4. Azure IoT 技术研究系列1

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...

  5. Microsoft IoT Starter Kit 开发初体验

    1. 引子 今年6月底,在上海举办的中国国际物联网大会上,微软中国面向中国物联网社区推出了Microsoft IoT Starter Kit ,并且免费开放1000套的申请.申请地址为:http:// ...

  6. Microsoft IoT Starter Kit 开发初体验-反馈控制与数据存储

    在上一篇文章<Microsoft IoT Starter Kit 开发初体验>中,讲述了微软中国发布的Microsoft IoT Starter Kit所包含的硬件介绍.开发环境搭建.硬件 ...

  7. 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信

    在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...

  8. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  9. Azure IoT 技术研究系列3-设备到云、云到设备通信

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

随机推荐

  1. 学习Git

    参考廖雪峰老师的个人网站:http://www.liaoxuefeng.com 版本库初始化 通过git init命令将这个命令变为git可以管理的仓库 添加文件 用命令git add file告诉G ...

  2. vector的 emplace 和 insert 以及使用vector进行iterator遍历 且 erase的时候注意事项

    vector<int> first;//Size()==2 first.push_back(); first.push_back(); //first.insert(2); vector& ...

  3. Avizo应用 - Home和Set Home

    Avizo的数据展示区域中两个选项Home和Set Home,如下图: 接下来会通过一套岩心的数据处理,解释一下这两个选项的一个用处. 首先这个数据已经完成了过滤处理,体渲染效果如下: 然后进行数据分 ...

  4. WPA-PSK无线网络破解原理及过程(转)

    本文将主要讲讲WPA-PSK类型的无线网络安全问题,首先我们看下802.11协议相关的基础知识. 802.11常见的几种认证方式: 1.不启用安全‍‍ ‍‍2.WEP‍‍ ‍‍3.WPA/WPA2-P ...

  5. jquery判断checkbox是否选中及改变checkbox状态(转)

    jquery判断checked的三种方法:.attr('checked):   //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false.prop('c ...

  6. iOS crash 异常捕获

    // //  UncaughtExceptionHandler.m //  UncaughtExceptions // //  Created by Matt Gallagher on 2010/05 ...

  7. java匹配中文的正则表达式

    [\u4E00-\u9FA5]* public static void regxChinese(){ // 要匹配的字符串 String source = "<span title=' ...

  8. Lotus Domino中使用Xpage技术打造通讯录

    我们来完成一个类似通讯录的功能,我们可以添加人员,查看和修改,删除人员,我们假设我们的通讯录中只记录人员的名字和年龄字段.先看看完成后的效果吧 点击New可以到新增人员页面,如下图: 编辑按钮后进入编 ...

  9. JPA与Hibernate的关系

    1.JPA JPA全称: Java Persistence API  JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.  JPA的出现?  JPA ...

  10. Multiple Contexts have a path of "/xxxx"问题解决

    转自:http://blog.csdn.net/ivanzhangqf/article/details/50326533 之前因为ecplise项目保存更新时一直显示等待后台操作完成,以至于一直卡住无 ...