littlebot
Published on 2025-04-18 / 0 Visits
0

【源码】基于Python的物联网设备统一IO库

项目简介

本项目是基于Python的物联网设备统一IO库,适用于物联网设备(如Galileo/Edison)、配套设备(如手机/平板电脑)和XDK。它提供统一的API,支持在nodejs和浏览器环境使用,具备标准JSON - RPC 2.0支持、卸载执行等功能。同时提供基于Python的Arduino库/框架,能简化Arduino开发,让开发者用Python编写代码并转换为可在Arduino上运行的C++代码。

项目的主要特性和功能

  1. 提供Arduino风格且适用于nodejs和浏览器的统一API。
  2. 支持标准JSON - RPC 2.0。
  3. 客户端可将功能卸载到远程服务器。
  4. 具备自动生成自定义IO函数的工具。
  5. 能解析C++头文件,自动生成对应的JavaScript API和C++代码。
  6. 通过Python编写代码简化Arduino开发,适合不熟悉C++的开发者。
  7. 支持多种Arduino兼容的硬件平台,如Galileo、Arduino Uno等。
  8. 包含多个示例代码和测试脚本,方便演示和验证功能。

安装使用步骤

前提安装

在Galileo上安装yocoto

  1. 下载SD卡镜像 (200M)
  2. 使用dd命令解压镜像并恢复到micro sd卡: bash dd if=/path/to/image of=/sd/dev/path bs=1M
  3. 将SD卡插入Galileo,然后开机
  4. 通过ssh登录: bash ssh root@ip_address_for_galileo
  5. 检查node/node - gyp/npm,若不在$PATH中,在根目录下找到并创建符号链接,例如: bash ln -s /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js /usr/bin/node-gyp
  6. 确保Galileo系统设置正确,将io - js复制到Galileo,可进入安装部分;Galileo上安装较慢,可考虑在主机上使用交叉编译器编译库。

在主机上安装devkit live镜像

  1. 下载iot dev kit镜像 (4.2G):
  2. 建议在虚拟机中启动该镜像,下载并安装Virtual box:
  3. 解压镜像并转换为Virtual box镜像: bash vboxmanage convertfromraw --format VMDK devkit-live-img-final.binblob ~/devkit.vmdk
  4. 在Virtual box中启动devkit.vmdk
  5. 登录虚拟机
  6. 检查node/node - gyp/npm,若不在$PATH中,在根目录下找到并创建符号链接,例如: bash ln -s /opt/iot-devkit/1.5.1/yocto/sysroots/i586-poky-linux/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js /usr/bin/node-gyp
  7. io - js复制到devkit,然后按安装部分运行。

安装

bash npm install (如果以root身份运行io - js,请使用npm install -unsafe - perm代替)

Arduino库使用

  1. 安装Python环境及框架中提到的其他依赖库,如ply、node - gyp等。
  2. 根据项目需要,配置Python脚本中的路径和参数。
  3. 使用Python编写Arduino代码,包括定义类、函数、变量等。
  4. 运行Python脚本,将Python代码转换为C++代码。
  5. 将生成的C++代码上传到Arduino设备,并进行测试和验证。

测试

  1. 安装buster.js: bash npm install -g buster
  2. 运行测试: bash make test

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】