Difference between revisions of "X728-script"
Line 65: | Line 65: | ||
===Prepair software shutdown script=== | ===Prepair software shutdown script=== | ||
− | sudo cp -f ./x728-softsd.sh /usr/local/bin/ | + | Run the folloing command: |
+ | |||
+ | Please use <code>x728-v2.x-softsd.sh</code> fiel for <code>x728 v2.3/v2.2/v2.1</code> | ||
+ | sudo cp -f ./x728-v2.x-softsd.sh /usr/local/bin/ | ||
+ | OR (for <code>x728 v1.2/v1.3 shield</code>) | ||
+ | sudo cp -f ./x728-v1.x-softsd.sh /usr/local/bin/ | ||
Create a alias <code>x728off</code> command to execute the software shutdown | Create a alias <code>x728off</code> command to execute the software shutdown | ||
<pre> | <pre> |
Revision as of 00:21, 23 July 2023
Contents
Overview
This is script installation tutorial for X728 shield, it will replace X728 Software installation tutorial, although X728 Software installation tutorial is still available, but we strongly recommend that you use this script tutorial, which simplifies the installation process and reduces dependencies on third-party python libraries.
Now we think you have successfully flashed the OS Image into Micro SD and and power on the device, and you have also completed the operations such as creating new user required in some OS. You need to perform the following operations in Terminal
.
OS that has been tested
- Raspbian
- DietPi
- Manjaro
- Ubuntu
- myNode
- Umbrel
- Volumio
- RetroPie
- Twister
Install
Please follow the steps below:
Enable I2C
Reter to How to enable I2C
NOTE: sample/x728-v2.x-bat.py or sample/x728-v1.x-bat will run with error if you don't enable I2C.
Check & review I2C address:
pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- 36 -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
Explaination:
#36 - the address of the battery fuel gauging chip #68 - the address of the RTC chip
Clone the script
git clone https://github.com/geekworm-com/x728-script cd x728-script chmod +x *.sh
Create the x728-pwr service
x728-pwr service will be responsible for power management and hardware safe shutdown.
sudo cp -f ./x728-pwr.sh /usr/local/bin/ sudo cp -f x728-pwr.service /lib/systemd/system sudo systemctl daemon-reload sudo systemctl enable x728-pwr sudo systemctl start x728-pwr
Now, if you press and hold the onboard switch for 3 seconds, then the blue LED will flash slowly and the shutdown is going then all LEDs will be off until the device is completely powered off.
Prepair software shutdown script
Run the folloing command:
Please use x728-v2.x-softsd.sh
fiel for x728 v2.3/v2.2/v2.1
sudo cp -f ./x728-v2.x-softsd.sh /usr/local/bin/
OR (for x728 v1.2/v1.3 shield
)
sudo cp -f ./x728-v1.x-softsd.sh /usr/local/bin/
Create a alias x728off
command to execute the software shutdown
echo "alias x728off='sudo /usr/local/bin/x728-softsd.sh'" >> ~/.bashrc source ~/.bashrc
Then you can run x728off
to execute software shutdown as follows
x728off
Test safe shutdown
Software safe shutdown command:
x728off
DON'T run the 'shutdown' linux command to shut down, otherwise the power of x728 shield will not be shut down.
Hardware safe shutdown operation:
You can verify the safety switch through the onboard switch, press and hold the switch for 3
seconds, then the blue LED will flash slowly and the shutdown is going then all LEDs will be off until the device is completely powered off.
- press on-board button switch
1-2
seconds to reboot - press button switch
3
seconds to safe shutdown, - press
7-8
seconds to force shutdown.
Sample Files
The example programs are only suitable for advanced players, and you can construct your own usage scenarios according to the example programs.
Each example program demonstrates a different function:
read_fan_speed.py: Read the pwm fan running speed;
cd ~x728-script sudo python3 sample/read_fan_speed.py
pld.py: AC Power supply loss dection script;
cd ~x728-script sudo python3 sample/pld.py.py
plsd.py: Auto shutdown when AC power loss or power adapter failure script;(Added auto shuntdown function base pld.py)
cd ~x728-script sudo python3 sample/plsd.py
buzzer.py: demonstrates how the buzzer will sound when power supply is lost, which is very important in some usage scenarios.
cd ~x728-script sudo python3 sample/buzzer.py
The above sample python file maybe depends on the third-party python library `Rpi.GPIO`. In the official Raspberry Pi OS and most third-party OS, this library is installed by default. If you run this file and get some errors, try to run the following command to install the Rpi.GPIOy library.
sudo apt-get install -y python3-smbus python3-rpi.gpio
Or you can refer to How to Install RPi.GPIO Python Library
Enable OLED display
Refer to How to enable OLED display
Set and Read the RTC time
PS: We only test this step on Raspberry Pi OS;
1. To enable RTC module, first add dtoverlay=i2c-rtc,ds1307
to /boot/config.txt under [all] or the end of file and reboot:
sudo nano /boot/config.txt
Save and exit. In nano, you do that by hitting CTRL + X, answering Y and hitting Enter when prompted.
2. Run the commands to disable the "fake hwclock" which interferes with the 'real' hwclock
sudo apt-get -y remove fake-hwclock sudo update-rc.d -f fake-hwclock remove sudo systemctl disable fake-hwclock
3. Then run the following command to comment out 7-12 line in file /lib/udev/hwclock-set
:
sudo nano /lib/udev/hwclock-set
?
1 #!/bin/sh
2 # Reset the System Clock to UTC if the hardware clock from which it
3 # was copied by the kernel was in localtime.
4
5 dev=$1
6
7 #if [ -e /run/systemd/system ] ; then
8 # exit 0
9 #fi
10 #
11 #/sbin/hwclock --rtc=$dev --systz
12 #/sbin/hwclock --rtc=$dev --hctosys
13 ?
PS: Inserting a `# `at the beginning of a line means to comment the line
4. Reboot the Raspberry Pi
sudo reboot
5. Run the command to verify the time is correct. Plug in Ethernet or WiFi to let the Pi sync the right time from the Internet
date
6. Run the command to write the time
sudo hwclock -w
7. Run the command to read the time
sudo hwclock -r
Once the time is set, make sure the batteries are inserted so that the time is saved. You only have to set the time once. That's it! Next time you boot the time will automatically be synced from the shield.
Other
pwm_fan_control.py
is no longer used, and are reserved here for research and use by python lovers only.
Support
Email: support@geekworm.com
FAQ
Q: How to login volumio via SSH?
1. Enable SSH:
Visit http://volumio.local/dev/, then click ENABLE SSH button
2. URL connection is IP address, and the default user name is volumio, default password is volumio
Q: How to login to Umbrel via SSH?
A: ssh umbrel@umbrel.local (or ssh umbrel@Q: How to login to myNode via SSH?
A: URL connection is IP address, and the default user name is admin, default password is boltQ: How to login to DietPi via SSH?
A: URL connection is IP address, and the default user name is root, default password is dietpiQ: Is LibreELEC supported?
A: TODOOther resource
References: *Raspberry Pi Tutorial: How to Use a Buzzer
Return to X728 or X728-hardware
Enable comment auto-refresher
Anonymous user #5
Permalink |
Anonymous user #5
Walker
Anonymous user #5
Walker
Anonymous user #5
Permalink |
Walker
Anonymous user #4
Permalink |
Anonymous user #4
Walker
Anonymous user #4
Walker
Anonymous user #3
Permalink |
Walker
Anonymous user #2
Permalink |
Harry
Anonymous user #1
Permalink |
Walker