设为首页 收藏本站
查看: 1106|回复: 0

[经验分享] Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Tra

[复制链接]
发表于 2017-6-30 08:28:26 | 显示全部楼层 |阅读模式
  原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.aspx?winzoom=1
  译者:Negan.L

向Azure 物联网中心连接particle photon网络设备
DSC0000.png

  我的假期继续. 昨天我做了肩膀手术(肩关节冻结症).所以今天我对于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的在线代码编辑器添加一些遥测法.
DSC0001.png

  他们做了一个非常棒的在线代码编辑器,但是我也可以在本地编辑和编译代码:

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 看这些事件如何在网页上活着.
DSC0002.png

  Particle也支持谷歌云和Azure物联网中心一体化.Azune物联网中心允许你管理数以亿万计的设备和数以亿万计的事件.我只做了一些事情,但是我们都要在一些地方开始.;)
  我在我的Azure 帐号中创建了一个免费的Azure物联网中心…
DSC0003.png

  为我的Particle设备做了一个共享访问政策.
DSC0004.png

  在它们的集成系统中我被告知Particle关于Azure的事.
DSC0005.png

  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很酷因为它将要搁置并且只是输出事件就好像他们正在流经整个系统.
DSC0006.png

  所以我可以在Particle上使用他们的云呼叫方法, 以及从Azure物联网中心检测事件 . 我可以探索诊断数据以及查询巨大数量的设备到云的数据,潜在流入我的硬件设备.
  物联网中心限制对于免费/爱好者 用户作为学习去发展是非常慷慨的.我到目前为止还没有支付任何钱.然而, 它可以按比例排列千万级短信每秒每单元!那意味着百万级信息传给你每秒,只要你需要.
  我敢肯定我看到了物联网中心解决方案的价值就好像这在你在设备上得到一个以上的设备时将快速合计.文本文件不是真的估计.即使我只是用物联网连接我的房子,这也很好拥有所有数据流入一个我可以管理和私密查询的中心.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-389580-1-1.html 上篇帖子: Azure Event Hub 技术研究系列3-Event Hub接收事件 下篇帖子: Azure Backup (2) Azure备份服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表