Chiu: Difference between revisions

From ciapini
Jump to navigation Jump to search
(Created page with "''supervisore del sonno''")
 
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
''supervisore del sonno''
''un elaboratore tascabile''
 
== Hardware ==
 
=== Cpu ===
 
[[File:OPiPinout.jpg|thumb]]
 
[[File:Orange-Pi-Zero-Pinout.jpg|thumb]]
 
* Orange Pi Zero Plus2 ([https://linux-sunxi.org/File:ORANGE_PI-ZERO-PLUS2_V1_0.pdf schematic])
 
==== altre board ====
 
* SAMA5D2x CPU a basso consumo, possibilita di low power mode, uscita per TFT
** https://groboards.com/giant-board/
** https://www.acmesystems.it/roadrunner
* AR9331
** Music802
** Carambola2
 
=== Display ===
 
* Risoluzione: 320x240 ILI9341 (40x30)
* Risoluzione: 480x320 ILI9486
* Bus: SPI
 
* https://marcosgildavid.blogspot.com/2014/02/getting-ili9341-spi-screen-working-on.html
* https://github.com/juj/fbcp-ili9341
 
{| style="color:green; background-color:#ffffcc;" cellpadding="10" cellspacing="0" border="1"
!ili9341
!OPi
!Note
!GPIO
|-
|SCK||23||SCLK||14
|-
|MOSI||19||||15
|-
|CS||24||CS0||13
|-
|RST||5||||11
|-
|DC||3||||12
|-
|LED||18||need check||18
|-
|VCC||1||3.3v||
|-
|GND||6||GND||
 
|}
 
=== CHX ===
 
Scheda che implementa: caricabatteria, stepup, tastiera, led
 
==== uC supervisore ====
 
* [https://www.st.com/en/microcontrollers-microprocessors/stm32l041f6.html STM32L041F6] 20 pin, 15 gpio, 32mhz, 32 KB Flash, 1 KB EEPROM, 8 KB RAM
** 8 - 16 tasti (4x4)
** 2 - i2c
** 1 - vbatt
** 1 - pwr
** 1 - sensore movimento
** 2 - leds
* LDO [https://www.st.com/en/power-management/ld2985.html LD2985]
 
==== carica batteria ====
 
* CN3065
* [https://www.st.com/en/power-management/stc4054.html STC4054] 800ma, TSOT23-5L, in 4.25V - 6.5V
** [https://www.st.com/content/ccc/resource/technical/document/application_note/05/d0/7a/c5/99/35/49/c2/CD00110778.pdf/files/CD00110778.pdf/jcr:content/translations/en.CD00110778.pdf AN2370], [https://docs.rs-online.com/2fd2/0900766b80f47dbb.pdf steval-isb011v1]
* MCP73811
* MCP73831/2
 
==== step-up ====
 
* [https://www.st.com/content/st_com/en/products/power-management/dc-dc-switching-converters/boost-regulators/l6920.html L6920] 1,2A
** [https://docs.rs-online.com/2fd2/0900766b80f47dbb.pdf steval-isb011v1]
* [https://www.diodes.com/assets/Datasheets/AP1609.pdf AP1609]
 
== Software ==
 
=== Seriale (via usb gadget) ===
una volta flashato e acceso, il device esporra' una seriale via usb gadget, ES:
/dev/ttyACM0
per collegarsi:
screen /dev/ttyACM0 115200 8n1
 
=== Display ===
 
==== fbtft_device (kernel <5.4) ====
 
in /boot/armbianEnv.txt:
overlays=usbhost2 usbhost3 spi-spidev
param_spidev_spi_bus=1
 
in /etc/modprobe.d/fbtft.conf:
options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90
 
X
FRAMEBUFFER=/dev/fb0 startx
 
==== trovare il proprio device /dev/fbX ====
verificare che device ci sono sotto /dev/fb*:
root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video    29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video    29, 1 Feb  8 01:15 /dev/fb1
quindi lanciare il modprobe:
modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90
e verificare il nuovo device:
root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video    29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video    29, 1 Feb  8 01:15 /dev/fb1
-rw-r--r-- 1 root root  101056512 Feb  8 01:50 /dev/fb2
nel nostro caso e' il
/dev/fb2
==== cambiare font e dimensione del display ====
source: https://learn.watterott.com/hats/rpi-display/faq/
 
eseguire con permessi di super-user:
dpkg-reconfigure console-setup
quindi seguire i passaggi:
*Encoding to use on the console: '''<UTF-8>'''
*Character set to support: '''<Guess optimal character set>'''
*Font for the console: '''Terminus''' (default is VGA)
*Font size: '''6x12 (framebuffer only)'''
 
e riavviare
 
==== test del display ====
una volta che a mano viene lanciato
modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90
il display dovrebbe diventare bianco e poi per righe di pixel, nero.
quindi e' possibile lanciare:
cat /dev/urandom > /dev/fb2
che creera' una schermata con pixel di diversi colori (random)
 
==== console output su lcd dal boot ====
source: https://kaspars.net/blog/spi-display-orange-pi-zero
 
in /etc/modules-load.d/fbtft.conf:
fbtft_device
 
in /etc/modprobe.d/fbtft.conf:
options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90
 
in /boot/armbianEnv.txt add:
extraargs="fbcon=map:2"
dove "2" e' il tuo /dev/fbX (vedi "trovare il proprio device..")
 
==== tinydrm ====
 
https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/tiny
<source lang="bash">
aptitude install linux-headers-next-sunxi
</source>
 
in myili9341.dts:
<source>
/dts-v1/;
/plugin/;
/ {
    compatible = "allwinner,sun8i-h3";
    fragment@0 {
        target-path = "/aliases";
        __overlay__ {
            spi1 = "/soc/spi@01c69000";
        };
    };
    fragment@1 {
        target = <&spi1>;
        __overlay__ {
            status = "okay";
            spidev {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <50000000>;
            };
        };
    };
 
    fragment@2 {
target = <&spi1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&bb_spi1_pins>;
 
display@0{
status = "okay";
compatible = "ilitek,ili9341";
reg = <0>;
spi-max-frequency = <32000000>;
dc-gpios    = <&gpio 12 0>;  // lcd dc
reset-gpios = <&gpio 11 0>;  // lcd reset
// backlight = <&backlight_gpio>; // lcd lite
// backlight = <&backlight_pwm>;    // lcd lite
// rotation = <180>;
};
};
};
};
</source>
 
armbian-add-overlay myili9431.dts
 
=== GUI ===
 
==== Applicazioni ====
===== Mail =====
 
* alpine
* mutt
* aerc
 
===== Feed =====
 
* [https://newsbeuter.org/ newsbeuter]
 
===== Chat =====
 
* [http://www.profanity.im/ profanity] supporta temi
 
=== Risparmio energetico ===
 
==== Idle ====
 
* https://forum.armbian.com/topic/1614-running-h3-boards-with-minimal-consumption/
 
==== ARISC on board ====
* https://linux-sunxi.org/AR100
* https://forum.armbian.com/topic/6019-openrisc-core-ar100-for-the-real-time-tasks/
* https://github.com/skristiansson/ar100-info
 
==== Sleep ====
* https://h3droid.com/

Latest revision as of 00:33, 16 February 2020

un elaboratore tascabile

Hardware

Cpu

OPiPinout.jpg
Orange-Pi-Zero-Pinout.jpg

altre board

Display

  • Risoluzione: 320x240 ILI9341 (40x30)
  • Risoluzione: 480x320 ILI9486
  • Bus: SPI
ili9341 OPi Note GPIO
SCK 23 SCLK 14
MOSI 19 15
CS 24 CS0 13
RST 5 11
DC 3 12
LED 18 need check 18
VCC 1 3.3v
GND 6 GND

CHX

Scheda che implementa: caricabatteria, stepup, tastiera, led

uC supervisore

  • STM32L041F6 20 pin, 15 gpio, 32mhz, 32 KB Flash, 1 KB EEPROM, 8 KB RAM
    • 8 - 16 tasti (4x4)
    • 2 - i2c
    • 1 - vbatt
    • 1 - pwr
    • 1 - sensore movimento
    • 2 - leds
  • LDO LD2985

carica batteria

step-up

Software

Seriale (via usb gadget)

una volta flashato e acceso, il device esporra' una seriale via usb gadget, ES:

/dev/ttyACM0

per collegarsi:

screen /dev/ttyACM0 115200 8n1

Display

fbtft_device (kernel <5.4)

in /boot/armbianEnv.txt:

overlays=usbhost2 usbhost3 spi-spidev
param_spidev_spi_bus=1

in /etc/modprobe.d/fbtft.conf:

options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

X

FRAMEBUFFER=/dev/fb0 startx

trovare il proprio device /dev/fbX

verificare che device ci sono sotto /dev/fb*:

root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video     29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video     29, 1 Feb  8 01:15 /dev/fb1

quindi lanciare il modprobe:

modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

e verificare il nuovo device:

root@orangepizeroplus2:~# ll /dev/fb*
crw-rw---- 1 root video     29, 0 Feb  8 01:15 /dev/fb0
crw-rw---- 1 root video     29, 1 Feb  8 01:15 /dev/fb1
-rw-r--r-- 1 root root  101056512 Feb  8 01:50 /dev/fb2

nel nostro caso e' il

/dev/fb2

cambiare font e dimensione del display

source: https://learn.watterott.com/hats/rpi-display/faq/

eseguire con permessi di super-user:

dpkg-reconfigure console-setup

quindi seguire i passaggi:

  • Encoding to use on the console: <UTF-8>
  • Character set to support: <Guess optimal character set>
  • Font for the console: Terminus (default is VGA)
  • Font size: 6x12 (framebuffer only)

e riavviare

test del display

una volta che a mano viene lanciato

modprobe fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

il display dovrebbe diventare bianco e poi per righe di pixel, nero. quindi e' possibile lanciare:

cat /dev/urandom > /dev/fb2

che creera' una schermata con pixel di diversi colori (random)

console output su lcd dal boot

source: https://kaspars.net/blog/spi-display-orange-pi-zero

in /etc/modules-load.d/fbtft.conf:

fbtft_device

in /etc/modprobe.d/fbtft.conf:

options fbtft_device custom name=fb_ili9341 gpios=dc:12,reset:11,led:18 speed=1600000 fps=5 busnum=1 bgr=1 rotate=90

in /boot/armbianEnv.txt add:

extraargs="fbcon=map:2"

dove "2" e' il tuo /dev/fbX (vedi "trovare il proprio device..")

tinydrm

https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/tiny

aptitude install linux-headers-next-sunxi

in myili9341.dts:

/dts-v1/;
/plugin/;
 
/ {
    compatible = "allwinner,sun8i-h3";
 
    fragment@0 {
        target-path = "/aliases";
        __overlay__ {
            spi1 = "/soc/spi@01c69000";
        };
    };
 
    fragment@1 {
        target = <&spi1>;
        __overlay__ {
            status = "okay";
 
            spidev {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <50000000>;
            };
        };
    };

    fragment@2 {
	target = <&spi1>;
	__overlay__ {
		#address-cells = <1>;
		#size-cells = <0>;
		status = "okay";
		pinctrl-names = "default";
			pinctrl-0 = <&bb_spi1_pins>;

			display@0{
			status = "okay";
			compatible = "ilitek,ili9341";
			reg = <0>;
			spi-max-frequency = <32000000>;
			dc-gpios    = <&gpio 12 0>;   // lcd dc
			reset-gpios = <&gpio 11 0>;   // lcd reset
			// backlight = <&backlight_gpio>; // lcd lite
			// backlight = <&backlight_pwm>;    // lcd lite
			// rotation = <180>;
			};
		};
	};
};

armbian-add-overlay myili9431.dts

GUI

Applicazioni

Mail
  • alpine
  • mutt
  • aerc
Feed
Chat

Risparmio energetico

Idle

ARISC on board

Sleep