示例arduino sketch打包为python包。
wheeler.blink的Python项目详细描述
#blink
这个项目演示了如何将arduino草图作为python包分发。
##使用arduino_helpers
和avr_helpers
编程草图
虽然不是严格依赖于blink
包,但是通过使用
[arduino_helpers
][1]和[avr_helpers
][2],我们可以轻松地刷新编译的
.hex
包含在blink
包中的固件文件。
例如:
>>> import blink >>> board = 'diecimila' >>> firmware = blink.get_firmwares()[board][0] >>> firmware.name path('blink.hex') >>> from arduino_helpers.context import ArduinoContext, Board, Uploader >>> # For Ubuntu systems, Arduino IDE is installed at `/usr/share/arduino`. >>> context = ArduinoContext('/usr/share/arduino') >>> uploader = Uploader(Board(context, board)) >>> from avr_helpers import AvrDude >>> # Automatically select port, by iterating through available serial >>> # ports until a connection can be established. >>> avr_dude = AvrDude(uploader.protocol, uploader.board_context.mcu, uploader.speed) >>> stdout, stderr = avr_dude.flash(firmware, ['-D']) >>> print stderravrdude-x64: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude-x64: Device signature = 0x1e9406 avrdude-x64: reading input file “blink.hex” avrdude-x64: writing flash (1056 bytes):
Writing | ################################################## | 100% 0.76s
avrdude-x64: 1056 bytes of flash written avrdude-x64: verifying flash memory against blink.hex: avrdude-x64: load data flash data from input file blink.hex: avrdude-x64: input file blink.hex contains 1056 bytes avrdude-x64: reading on-chip flash data:
Reading | ################################################## | 100% 0.67s
avrdude-x64: verifying … avrdude-x64: 1056 bytes of flash verified
avrdude-x64 done. Thank you.
[1]:https://github.com/wheeler-microfluidics/arduino_helpers [2]:https://github.com/wheeler-microfluidics/avr_helpers