移植Python2.7到ARM-LINUX嵌入式平台

笔者长期在ARM-LINUX嵌入式平台使用C语言开发。硬件IO操作只能用C确实没办法,但是应用程序用C简直就苦了个逼了,程序复杂一点,各种越界、指针错误、诡异死机、segment fault、内存泄漏、core dump、编译找不到头文件、依赖库,解析个字符费老劲,轮子太少纯靠白手起家。自从把Python移植到嵌入式平台,用C写完IO的Python扩展库然后用Python写应用程序完全就是摧枯拉朽...
阅读(792) 评论(0)

树莓派体验14 - wiringpi Python版SPI用法

首先在 /dev目录确认是否有类似 spidev0.0、spidev0.1 的设备节点,如果没有则在配置界面中打开 SPI 接口选项。然后确认 SPI 驱动是否加载,SPI驱动在树莓派中一般编译为模块,通过 lsmod 命令查看, 3代B版是 spi_bcm2835。wiringpi SPI 的 C 语言操作资料,本文不再累述,主要说明其 Python 接口的用法。在Python REPL中 im...
阅读(1054) 评论(0)

树莓派体验13 - 树莓派3B板载wifi配置方法

树莓派3代B版自带板载wifi和蓝牙,因此想让树莓派通过wifi上网不再需要单独购买wifi模块,通过简单配置板载wifi即可快速实现。配置方法在命令行操作,前提是你需要进入命令行终端,进入命令行终端的方法有多种:串口、SSH、HDMI+显示器。扫描附件wifi热点通过命令sudo iwlist wlan0 scan查看附近所有wifi热点的信息。以下是我截取的片段,每一个Cell代表一个wifi...
阅读(1610) 评论(0)

Micropython加速物联网开发8 - 2G网络TCP通信

M6220是一款基于eSIM技术的2G模组,支持GSM/GPRS,其2G工作频段有GSM850、GSM900、DCS1800和PCS1900。接下来就体验一下M6220与后台服务器的TCP通信。首先在REPL中一步步敲命令熟悉一下整个流程,M6220模组和TPYBoard的UART4相连。设置串口:>>> from pyb import UART >>> u4=UART(4,115200) >>>...
阅读(2281) 评论(0)

Micropython加速物联网开发7 - Micropython源码编译与固件更新

在实际开发中,难免会遇到编译Micropython源码的情况:比如当前固件损坏、固件版本升级、需要裁剪固件节省空间等。本文介绍在Linux环境中编译Micropython源码并下载到TPYBoard运行的流程。获取Micropython源码Linux环境下获取Micropython源码非常简单,使用git clone:git clone https://github.com/micropython...
阅读(1570) 评论(0)

Micropython加速物联网开发6 - 通过串口使用2G模组短信功能

集成2G通信、定位模组,赋予物联网特性。本例使用M6220,它是一款基于eSIM技术的2G模组,支持GSM/GPRS,提供GPS+北斗双模定位功能,并具备一定的数据处理能力,其2G工作频段有GSM850、GSM900、DCS1800和PCS1900,内置32Mb Flash、32Mb RAM,提供GPRS数据传输、GSM短信业务,导航部分以UART或者I2C输出,可提供NMEA0183协议输出,支...
阅读(2477) 评论(0)

Micropython加速物联网开发5 - 定时刷新环境温度

18B20驱动 DS18B20是一款非常强大的测温芯片,其体积小、精度高、硬件开销低、抗干扰能力强。引脚示意图如下: 通讯指令表: Micropython源码已经实现了18B20的驱动,源码地址为/micropython/drivers/onewire/ 驱动程序文件为ds18x20.py、onewire.py。 ds18x20.py代码片段: #ds18x20...
阅读(1176) 评论(0)

Micropython加速物联网开发4 - SPI驱动5110LCD屏

5110是84*48点阵LCD屏,其性价比高、接口简单、速度快、功耗低,非常适合电池供电的便携式终端设备。 本例使用TPYBoard开发板SPI1接口驱动5110LCD屏。 连线图即接口说明 LCD驱动程序 5110LCD的通信协议是一个没有MISO,只有MOSI的SPI协议,SPI协议可以通过GPIO模拟,本例直接使用SPI1接口驱动。 MicroPython提供了SPI的Py...
阅读(1257) 评论(0)

Micropython加速物联网开发3 - 按键中断和回调

TPYBoard开发板上的USR为用户按键,可以自定义按键触发的事件。想要使用USR按键,首先需要定义对象。 >>> import pyb >>> usr_key = pyb.Switch() 通过usr_key对象可以获得USR按键的状态: >>> usr_key() False >>> 当USR键被按下,状态为True,否则为False。它将产生一个中断,此时MCU将跳转执行中断函数,...
阅读(958) 评论(0)

Micropython加速物联网开发2 - Micropython交互式解释器

查看端口号 使用REPL(交互式解释器)编写、运行python代码非常方便。Micropython提供了用户和开发板交互式连接的支持。TPYBoard使用USB转TTL连接了STM32 MCU的UART。 通过USB线连接Windows PC和TPYBoard开发板,在PC的设备管理器中找到TPYBoard对应的设备信息,以及端口号: 使用串口工具putty登录。 ...
阅读(768) 评论(0)

Micropython加速物联网开发1 - Micropython初体验

Mircopython使得用python进行单片机开发成为可能,其基于ANSI C,语法跟Python 3基本一致,拥有自己的解释器、编译器、虚拟机以及类库。目前已支持多款单片机,本例使用基于STM32F405的TPYBoard开发板来探索Micropython开发单片机的神奇世界。 TPYBoard是一款遵守MIT协议的Micropython开发板,内置4个LED灯、一个加速度传感器和时钟模块...
阅读(1546) 评论(0)

树莓派体验12 - 树莓派I2C接口获取温湿度

i2c-tools工具安装 apt-get install i2c-tools i2c-tools包含如下命令: i2cdetect  i2cdump    i2cget     i2cset 通过raspi-config打开树莓派I2C,执行i2cdetect -l查看: root@raspberrypi:/opt# i2cdetect -l i2c-1   i2c       ...
阅读(832) 评论(2)

树莓派体验11 - 串口通信

树莓派3B有2个串口,设备节点分别为ttyAMA0、ttyS0(serial0),ttyAMA0默认用于板载蓝牙,因此串口通信采用另外一个。 配置串口,保证两点: 1. 开启串口驱动,产生设备节点 2. 不要配置为调试串口,才能作为通信串口 raspi-config打开配置界面,在此界面选择No: Would you like a login shell to be accessible...
阅读(872) 评论(0)

树莓派体验10 - wiringPi for Python(wiringPi2)

RPi.GPIO目前还不支持I2C、SPI等接口,且缺乏高精度定时功能。wiringpi除了提供C语言接口之外,目前已经支持Python等语言的扩展。对于GPIO的操作非常强大。 源码地址:https://github.com/WiringPi/WiringPi-Python 安装pip: apt-get install python-pip 安装wiringpi: pip inst...
阅读(895) 评论(4)

树莓派体验9 - GPIO中断

使用RPi GPIO库进行中断操作非常简单。 定义回调函数 def test_callback(channel):     print('In test_callback fuc') 定义检测函数 add_event_detect(channel, GPIO.RISING, callback=test_callback, bouncetime=200) 上升沿检测,关联回调,bounc...
阅读(1785) 评论(0)
28条 共2页1 2 下一页 尾页
    个人资料
    • 访问:127577次
    • 积分:480
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:0篇
    • 译文:0篇
    • 评论:10条
    博客专栏