Difference between revisions of "Template:13.3inch PiPad C4 Guide"

From Waveshare Wiki
Jump to: navigation, search
(Created page with "== Write Raspberry Pi OS== *Download the lasted Raspberry Pi OS image from the [https://www.raspberrypi.com/software/operating-systems/ Rasberry Pi website] and write it to an...")
 
Line 1: Line 1:
 
== Write Raspberry Pi OS==
 
== Write Raspberry Pi OS==
 
*Download the lasted Raspberry Pi OS image from the [https://www.raspberrypi.com/software/operating-systems/ Rasberry Pi website] and write it to an empty micro SD card.
 
*Download the lasted Raspberry Pi OS image from the [https://www.raspberrypi.com/software/operating-systems/ Rasberry Pi website] and write it to an empty micro SD card.
 +
**[[Write Image for Compute Module Boards eMMC version]]
 +
**[[Wrote Image for Compute Module Boards Lite version |Write Image for Compute Module Boards Lite version]]
 
*Create a new txt file under the BOOT directory of the micro SD card and name it SSH.  
 
*Create a new txt file under the BOOT directory of the micro SD card and name it SSH.  
 
*Modify config.txt file which is located at BOOT directory, add the following lines to config.txt file
 
*Modify config.txt file which is located at BOOT directory, add the following lines to config.txt file
Line 20: Line 22:
 
arecord -l
 
arecord -l
 
</pre>
 
</pre>
 
+
==USB2.0==
== Install Magic Mirror driver ==
+
To reduce consumption, USB interfaces are disabled in CM4 by default. If you need to use USB ports, please add the following line to config.txt file.<br />
*Open terminal and run the following commands
 
 
<pre>
 
<pre>
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
+
dtoverlay=dwc2,dr_mode=host
sudo apt install -y nodejs
 
git clone https://github.com/MichMich/MagicMirror
 
cd MagicMirror/
 
npm install
 
 
</pre>
 
</pre>
*After installing, run the command to display
+
Then reboot the CM4.
 +
<font color=red>
 +
If you use the newest Bullseye image, the USB2.0 is set to OTG mode by default, and it occurs the error in CM4:
 
<pre>
 
<pre>
DISPLAY=:0 npm start
+
config failed, hub doesn't have any ports! (err -19)
 
</pre>
 
</pre>
:[[File:MgicMirror-1.png|600px]]
+
To remove the errors, you can remove the line ''otg_mode=1'' from config.txt file and add the line:
*Install MMM-VoiceAssistant model and display
 
 
<pre>
 
<pre>
cd ~/MagicMirror/modules
+
dtoverlay=dwc2,dr_mode=host
git clone https://github.com/waveshare/MMM-VoiceAssistant.git
 
cd MMM-VoiceAssistant
 
cp config/config.js.en ~/MagicMirror/config/config.js
 
cd ~/MagicMirror
 
DISPLAY=:0 npm star
 
</pre>
 
:[[File:MgicMirror-2.png|700px]]
 
 
 
== Install Python3 virtual environment ==
 
<pre>
 
sudo apt-get update
 
sudo apt-get install python3-dev python3-venv
 
python3 -m venv env
 
env/bin/python -m pip install --upgrade pip setuptools wheel
 
source env/bin/activate
 
</pre>
 
 
 
'''Note: The following steps should be taken in the virtual environment, if you close the terminal and restart it, you should use the command below to enter the environment again firstly'''
 
 
 
<pre>
 
source ~/env/bin/activate
 
</pre>
 
 
 
==Install snowboy ==
 
*Install independency libraries
 
<pre>
 
sudo apt-get install swig
 
sudo apt-get install libatlas-base-dev
 
sudo apt-get install portaudio19-dev
 
sudo apt-get install flac
 
pip3 install PyAudio
 
pip3 install SpeechRecognition
 
</pre>
 
*Download snowboy
 
<pre>
 
git clone https://github.com/Kitt-AI/snowboy.git
 
cd snowboy/swig/Python3
 
make
 
cd ../../examples/Python3
 
</pre>
 
*Modify snowbiydecoder.py file. Change '''from.import snowboydetect''' to '''import snowboydetect'''. Save and enable snowboy
 
<pre>
 
cd ~/snowboy/examples/Python3
 
python3 demo.py resources/models/smart_mirror.umdl
 
</pre>
 
*Try to say '''smart mirror''', you will hear '''ding''' and the information below are printed on the mirror'''
 
<pre>
 
INFO:snowboy:Keyword 1 detected at time: 2019-12-03 11:30:16
 
</pre>
 
 
 
==Install Google Assistant Service==
 
*Create .asoundrc file in /home/pi directory (the user directory)
 
<pre>
 
nano .asoundrc
 
</pre>
 
*Add the following lines to the .asoundrc file
 
<pre>
 
pcm.!default {
 
  type asym
 
  capture.pcm "mic"
 
  playback.pcm "speaker"
 
}
 
pcm.mic {
 
  type plug
 
  slave {
 
    pcm "hw:0,0"
 
  }
 
}
 
pcm.speaker {
 
  type plug
 
  slave {
 
    pcm "hw:0,0"
 
  }
 
}
 
</pre>
 
*According to the official guide to installing Google Assistant Service
 
**https://developers.google.com/assistant/sdk/guides/service/python
 
*Please follow the third step of the official guide to configure and create an OAuth Client ID JSON file. Don't forget to copy the JSON file to your Raspberry Pi.
 
*Following the fourth step of the guide to register device model
 
* Install Google Assistant SDK
 
<pre>
 
(env) $ sudo apt-get install portaudio19-dev libffi-dev libssl-dev
 
(env) $ python -m pip install --upgrade google-assistant-sdk[samples]
 
</pre>
 
* Authorize model
 
<pre>
 
(env) $ python -m pip install --upgrade google-auth-oauthlib[tool]
 
</pre>
 
* Genegrate credential, please do notrecommend the json file for properly using.
 
<pre>
 
(env) $ google-oauthlib-tool --scope https://www.googleapis.com/auth/assistant-sdk-prototype \
 
      --save --headless --client-secrets /path/to/client_secret_ client-id .json
 
</pre>
 
* Then you will get an URL, please copy it and open it on the browser of your PC.
 
<pre>
 
Please visit this URL to authorize this application: https://...
 
</pre>
 
* Go to the URL, you are asked to log in to your Google Account and get the authorization code by following guides, Copy the code to the terminal
 
<pre>
 
Please go to this URL: https://...
 
Enter the authorization code:
 
</pre>
 
* If the authorization process is done successfully, you will get the information as below.
 
<pre>
 
credentials saved: /path/to/.config/google-oauthlib-tool/credentials.json
 
</pre>
 
*Use the following command to test.
 
<pre>
 
googlesamples-assistant-push to talk --project-id my-dev-project --device-model-id my-model
 
</pre>
 
*: Note: my-dev-project is the Google Could Platform ID of the Actions Console project you created. You need to find the project ID  in Actions Console. my-model is the device model name you create
 
*Press Enter, and try to ask something.
 
 
 
== Set auto-run ==
 
*Install PM2
 
<pre>
 
sudo npm install -g pm2
 
</pre>
 
* Setup pm2
 
<pre>
 
pm2 startup
 
</pre>
 
*You will get informatin below, please copy the command and run it on terminal
 
<pre>
 
[PM2] To setup the Startup Script, copy/paste the following command:
 
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
 
</pre>
 
*Run Magic mirror by PM2
 
<pre>
 
cd MagicMirror/modules/MMM-VoiceAssistant/pi
 
pm2 start mm.sh
 
</pre>
 
*Run snowbiy by PM2
 
<pre>
 
cd MagicMirror/modules/MMM-VoiceAssistant/pi
 
pm2 start snowboy.sh
 
</pre>
 
*Set auto-run
 
<pre>
 
pm2 save
 
</pre>
 
*If you want to disable the sevices, you can aslo use the following command
 
<pre>
 
pm2 stop mm
 
pm2 stop snowboy
 
 
</pre>
 
</pre>
 +
</font>
  
 
== kepp display lighting all the time==
 
== kepp display lighting all the time==

Revision as of 02:33, 16 March 2022

Write Raspberry Pi OS

hdmi_group=2
hdmi_mode=82
hdmi_cvt 1920 1080 60 6 0 0 0
  • Save and insert the micro SD card to Raspberry Pi.
  • Connect the Magic mirror to network and power on Raspberry Pi.
  • After booting, you can access Raspberry Pi via SSH, or directly connect the keyboard and mouse.

Check the USB Audio Card

  • Test the sound output device
aplay -l
  • Test the sound input device
arecord -l

USB2.0

To reduce consumption, USB interfaces are disabled in CM4 by default. If you need to use USB ports, please add the following line to config.txt file.

dtoverlay=dwc2,dr_mode=host

Then reboot the CM4. If you use the newest Bullseye image, the USB2.0 is set to OTG mode by default, and it occurs the error in CM4:

config failed, hub doesn't have any ports! (err -19)

To remove the errors, you can remove the line otg_mode=1 from config.txt file and add the line:

dtoverlay=dwc2,dr_mode=host

kepp display lighting all the time

  • Modify lightdm.conf
sudo nano /etc/lightdm/lightdm.conf
  • Find the line "Xserver-command" below [SeatDefaults] section and change it from
#xserver-command=X

to

xserver-command=X -s 0 -dpms
  • Then save and reboot
sudo reboot

RS232

To use the RS232 interface, please modify the config.txt file:

sudo nano /boot/config.txt

Add the following line the file and save

dtoverlay=uart3

RS485

To use the RS485, you need to enable the serial port of PI

sudo raspi-config

Choose Interface Option -> Serial -> No -> Yes, then reboot

Keys description

13.3inch-HDMI-LCD-H-Manual-02.jpg

  • 1: Open or Close LCD display. If you don't need the LCD for long time, you can use this button to reduce consumption
  • 2: Direction button
  • 3: "OK" function
  • 4: Open menu and "Return" function

Notices

1. If the wakeup word is unworkable for you, please log in snowboy website
https://snowboy.kitt.ai, And add the new wakeup word.
MgicMirror-3.png
Click recording icon to record voice and test if the voice model is workable
MgicMirror-4.png
Download the model file and copy it to ~/MagicMirror/modules/MMM-VoiceAssistant/pi directory.
Modify snowboy.sh file
nano snowboy.sh
Modify the name to the one you download, for English, you need to modify the snowboy.umdl to yours
cd ~/MagicMirror/modules/MMM-VoiceAssistant/pi
~/env/bin/python3 demo.py smart_mirror.umdl snowboy.umdl
2. Google Assistant Service can only support 500 request every day.