|
这展示了如何使用Python编程粒子电子来开发蜂窝连接电子产品,只需点击几下。
硬件组件 粒子电子 ×1 介绍 在本文中,我们将看到如何使用Zerynth对Python中的粒子电子进行编程,只需点击几下即可开发出与蜂窝连接的电子项目和产品。 粒子电子平台 Particle Electron是一个支持GSM的开发平台,用于创建具有M2M的蜂窝连接电子项目和产品。它配备了一个ParticleSIM卡,可在全球100多个国家/地区提供服务,其中包括3个月的Particle的物联网设备每月1MB数据计划。 Particle Electron将功能强大的ARM CortexM3微控制器(STM32F205RG Cortex M3)与UBlox(U260或G350)的3G / 2G gsm模块相结合。除了具有1Mb内部闪存用于存储固件外,粒子电子还具有128kRAM和120 MHz时钟。 粒子电子板总结 微控制器:ARM 32位Cortex™-M3 CPU内核 工作电压:3.3V 输入电压:3.6-6V 数字I / O引脚(DIO):28 模拟输入引脚(ADC):14 模拟输出引脚(DAC):1 UART:5 SPI:2 I2Cs:1 CAN:1 闪存:1Mb SRAM:128 KB 时钟速度:120Mhz 蜂窝调制解调器:U-Blox SARA U系列(3G) 电路板尺寸:2.0“x 0.8”x 0.3“(0.5”包括接头) 粒子电子引脚和相关的Zerynth特征 入门所需材料 来自粒子商店: 粒子的数据计划 粒子电子板 粒子SIM卡 来自Zerynth: Zerynth工作室 项: 锂电池(2000mAh) USB电缆 Electron配备由BQ24195 pm单元和MAX17043电量计供电的板载电源管理电路。电子可以通过VIN(3.9V-12VDC)引脚,USB Micro B连接器或LiPo电池供电。仅使用LiPo电池供电时,电源管理IC会关闭内部稳压器,并直接从电池为系统供电。 连接并虚拟化粒子电子 如果您尚未完成,请下载并安装Zerynth Studio 。 然后将电路板连接到PC。在Windows机器上,Zerynth Studio需要粒子电子USB驱动程序来访问与STM32 UART建立连接的串行端口。有关ZerynthDoc部分的更多详细信息。 按照以下步骤注册和虚拟化粒子电子: 将电子设备置于DFU模式(设备固件升级): 按住BOTH按钮(重置和设置) 按住设置按钮的同时仅释放重置按钮 等待LED开始闪烁洋红色,然后变黄 松开设置按钮; 设备现在处于DFU模式(黄色闪烁LED) 在“设备管理”工具栏上选择“电子” 单击Zerynth Studio中的“Z”按钮注册设备 第二次单击“Z”按钮为设备创建虚拟机 第三次单击“Z”按钮虚拟化设备 用Python编写粒子电子 虚拟化之后,粒子电子就可以编程并上传Zerynth脚本了。 让我们从“HTTP Time GSM示例”示例开始,以显示粒子电子的功能。 只需按照以下步骤操作(有关详细信息,请参阅此入门指南): 通过快捷键Ctrl + P 访问快速搜索栏(此处有更多信息)并输入“GSM HTTP” 选择示例并通过单击专用按钮克隆它; 在此阶段,Zerynth Studio在新项目中转换示例,使您可以编辑标题和描述。请记住,Zerynth Studio不允许两个项目具有相同的名称。如果您尝试克隆过去已经克隆的示例而保留默认标题,则需要为此新项目提供不同的标题。 点击“创建”,你就完成了! 代码 Zerynth - HTTP时间GSM示例: ################################################################################ # # HTTP Time GSMExample # ################################################################################ # the classicwifi requests example, very little changes accessing # the net througha gsm connection! # import ourgsm chip specific driver from ublox.g350 import g350 # and thegeneric gsm module from wireless import gsm import streams import requests streams.serial() # init the gsmdriver! # The driverautomatically registers itself to the gsm interface # with thecorrect configuration for the selected board g350.auto_init() print("Connecting...") try: # connect to our APN gsm.connect_net('spark.telefonica.com') exceptException as e: print("ooops, something wrong while connecting : (", e) while True: sleep(1000) # from now oneverything is exactly identical to wifi HTTP Time Example ;) # let's try toconnect to timeapi.org to get the current UTC time for i in range(3): try: print("Trying to connect...") # we need to impersonate a web browser: as easy assetting the http user-agent header user_agent= {"user-agent":"Mozilla/5.0(iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, likeGecko) Mobile/7B405"} # go get that time! # url resolution and http protocol handling are hiddeninside the requests module response= requests.get("http://www.timeapi.org/utc/now",headers=user_agent) # let's check the http response status: if different than200, something went wrong print("Http Status:",response.status) # if we get here, there has been no exception, exit theloop break exceptException as e: print(e) try: # check status and print the result if response.status==200: print("Success!!") print("-------------") print("And the result is:",response.content) print("-------------") exceptException as e: print("ooops, something very wrong! : (",e) 现在你必须上传代码。 只需从“设备管理工具栏”中选择虚拟化设备,单击Zerynth Studio的专用“上行链路”按钮,然后在询问时按“重置板载”按钮重置设备。 完成!现在您可以看到串行监视器上打印的结果了! 省电 节能是蜂窝网络物联网成功的关键。 蜂窝物联网技术最重要的挑战之一是如何最大限度地延长电池寿命。为了满足此规范,Zerynth在Zerynth StudioPRO版本(6月28日开始)中包含了“省电”功能,其中还包括以下功能: 可选择的RTOS Over the Air更新开发 硬件驱动的安全固件在工业产品上烧毁 还有很多 您还有几天可以预订Zerynth Studio PRO,享受高达50%的折扣! 原理图
|
| 学习一下 |
微信公众号
手机版