OpenWrt ed elettronica digitale - Ninux
Transcript of OpenWrt ed elettronica digitale - Ninux
![Page 1: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/1.jpg)
OpenWrt ed elettronicadigitale
Autore: Claudio Mignanti c.mignanti<at>gmail.com
Licenza: http://creativecommons.org/licenses/by-sa/3.0/
![Page 2: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/2.jpg)
Si mimetizzano intorno a noi....
http://wiki.ninux.org/Hackalicegate
Linux un po ovunque:● modem/router● NAS● televisioni● stampanti laser● ascensori● LHC
![Page 3: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/3.jpg)
Dal sw all'hw
PIOA PIOB PIOC
SOC
KERNEL
GPIO
I2C SPI ...
/dev/gpio /dev/i2c-N /dev/spi-N
User space
![Page 4: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/4.jpg)
PIOA
PA0
PA7
1
0
0
0
0
0
0
0
+5V
0V
![Page 5: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/5.jpg)
5
GPIOL'anello di congiunzione
echo 82 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio82/direction
echo 1 > /sys/class/gpio/gpio82/valueecho 0 > /sys/class/gpio/gpio82/value
![Page 6: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/6.jpg)
6
#include <stdio.h>#include <gpio_dev.h>
int main (void) {fd = open (“/dev/gpio”);ioctl (fd, GPIO_REQUEST, 82);ioctl (fd, GPIO_DIR_OUT);ioctl (fd, GPIO_SET, 1);sleep(1);ioctl (fd, GPIO_SET, 0);
}
GPIO usando il C
trunk/target/linux/generic/files/include/linux/gpi_dev.h
![Page 7: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/7.jpg)
7
Solo led?
● Optoisolatori● Relè● Motori● Sensori di vario tipo● …. composizioni varie
![Page 8: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/8.jpg)
8
… CNC
http://wiki.ninux.org/cnc
![Page 9: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/9.jpg)
9
GPIO e stepper motor
CPU
GPIO APISTEPPER DRIVER
PYTHON CLASS STEPPER
USER SPACE PROGRAM
/DEV/GPIO SYSFS
PWM
/DEV/MOTORn
http://sourceforge.net/apps/trac/acme-dev/browser/kernel-stuff/stepper-driver/stepper-drv.c
![Page 10: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/10.jpg)
10
class stepper:""" This class allow you to drive a stepper motor using gpio pins.\n
The stepper class use the follow paramethers for costructor:\n (enable, direction, step, [limit], [low_pwr])\n
"""… def step (self, number=1, delay=0, recover_step=300):
self.enable()time.sleep(0.001)for i in range(0, number):
#check if at limitif (self.have_limit and self.limit_pin.get() == 0):
self.recover_end(recover_step)self.disable()return number - i + recover_step #missing steps
self.step_pin.set(0)self.step_pin.set(1)
time.sleep(0.001)self.disable()return 0
![Page 11: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/11.jpg)
11
Appuntamento fisso...
… alla Domenica nerd (17.30 alle 23.00).
Associazione Fusolab
Via Giorgio Pitacco 29●
![Page 12: OpenWrt ed elettronica digitale - Ninux](https://reader035.fdocumento.com/reader035/viewer/2022071613/61570ff39cc65c51cc34d941/html5/thumbnails/12.jpg)
12
EOF
Claudio Mignanti c.mignanti<at>gmail.com OpenWrt Hacker - Hardware designer
pub 1024D/0DFD7CBB C94D 759A 2EF0 172F 9673 65E4 C4C1 8627 0DFD 7CBB
?