- Qt 5 (Qtbase, QtSerialPort and Qtscript)
- Mysql
- Generate a MakeFile: qmake
- Compile the application: make -j4
- Configure the application: sudo ./doxeo-monitor --configure
- Create a new user: ./doxeo-monitor --user
- Run : ./doxeo-monitor
- Go the web page: http://localhost:8080
- To get somme help : ./doxeo-monitor --help
- do: sudo apt-get update
- do: sudo rpi-update
- Install required development packages
sudo apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl1.0-dev libpng-dev libjpeg-dev libglib2.0-dev libraspberrypi-dev
- Support for various databases (PostgreSQL, MariaDB/MySQL)
sudo apt-get install libpq-dev libmariadbclient-dev
- Install SSL driver on raspbian: sudo apt-get install openssl
- Download Qt with wget command.
- Uncompress the file : tar xf qt-everywhere-src-5.11.2.tar.xz
- create a folder qtbase-build next to qtbase folder
- go to qtbase-build folder
- configure the build
PKG_CONFIG_LIBDIR=/usr/lib/arm-linux-gnueabihf/pkgconfig:/usr/share/pkgconfig \
PKG_CONFIG_SYSROOT_DIR=/ \
../qtbase/configure -v -no-opengl -no-gtk \
-device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=/usr/bin/ \
-opensource -confirm-license -release -reduce-exports \
-force-pkg-config -no-kms -nomake examples -no-compile-examples -no-pch \
-qt-pcre -ssl -evdev -system-freetype -fontconfig -glib -prefix /opt/Qt5.11
we do not used linux-rasp-pi3-g++ because qtscript don't like it ("Not supported ARM architecture")
- do: make -j4
- do: sudo make install
- do: sudo ln -s /opt/Qt5.11/bin/qmake /usr/local/bin/qmake
You now have Qt installed in /opt/Qt5.11 ready to be used. To configure your Qt project(s) to build with this version run qmake from the installation directory:
/opt/Qt5.11/bin/qmake
More details here.
- Create a folder qtserialport-build next to the repository qtserialport
- Go to the folder qtserialport-build and do:
qmake ../qtserialport/qtserialport.pro
make -j4
sudo make install
- Create a folder qtdeclarative-build next to the repository qtdeclarative
- Go to the folder qtdeclarative-build and do:
qmake ../qtdeclarative/qtdeclarative.pro
make -j4
sudo make install
- do: sudo apt-get install phpmyadmin
- let dbconfig-common configuring the database of phpmyadmin
- enter the root password of mysql
- do: sudo ln -s /usr/share/phpmyadmin/ /var/www/html/
- autorize www-data for /var/www/html/phpmyadmin
- at the command line, log in to MySQL as the root user:
mysql -u root -p
- type the MySQL root password, and then press Enter.
- create database with user:
CREATE DATABASE doxeo;
CREATE USER 'doxeo'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON doxeo . * TO 'doxeo'@'localhost';
FLUSH PRIVILEGES;
exit
If you don't known the mysql root password you can do like here without omitting sudo before commands.
- ls -la /dev/ttyUSB0
- sudo usermod -a -G dialout myUserName
Disable the login shell on the serial port in the interfacing options of "sudo raspi-config", and reboot.
- do: sudo vim /etc/rc.local
- add: su pi -c '/home/pi/apps/doxeo-monitor/doxeo-monitor --path /home/pi/apps/doxeo-monitor'
- https://formation-debian.viarezo.fr/ntp.html
- https://serverfault.com/questions/559666/why-doesnt-ntp-recover-after-an-internet-less-startup
- http://www.pihomeserver.fr/2015/08/13/envoyer-un-email-depuis-votre-raspberry-pi/
- sudo ln -s /home/pi/doxeo/script/email.sh /usr/local/bin/email
- open /etc/apache2/apache2.conf
- insert under AccessFileName .htaccess:
LimitRequestLine 1000000
LimitRequestFieldSize 1000000
- sudo service apache2 restart
sudo apt-get install certbot
sudo certbot certonly --webroot -w /home/pi/doxeo --agree-tos --no-eff-email -d mysitedoxeo.fr --rsa-key-size 4096
chown -R pi /etc/letsencrypt/live/mysitedoxeo.fr
chown -R pi /etc/letsencrypt/archive/mysitedoxeo.fr
ln -s /etc/letsencrypt/live/mysitedoxeo.fr/cert.pem /home/pi/doxeo/cert.pem
ln -s /etc/letsencrypt/live/mysitedoxeo.fr/privkey.pem /home/pi/doxeo/privkey.pem
ln -s /etc/letsencrypt/live/mysitedoxeo.fr/privkey.pem /home/pi/doxeo/chain.pem
- sudo apt-get install ddclient
- sudo vim /etc/ddclient.conf
protocol=dyndns2
use=web, web=checkip.dyndns.com
server=www.ovh.com
login=nomdedomaine.net-login
password='mypassword'
dyn.nomdedomaine.net
- sudo service ddclient restart
sudo pip3 install firebase-admin
- Update urllib3 version
pip3 install urllib3
pip3 install --upgrade urllib3
- do: sudo apt-get install mod_proxy
- do: sudo a2enmod proxy_http
- edit the file /etc/apache2/sites-enabled/000-default.conf like
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mysite1.fr
DocumentRoot /var/www/html
ErrorLog /var/www/html/log/http.error
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName mysitedoxeo.fr
#ProxyPass / http://localhost:8080/
#ProxyPassReverse / http://localhost:8080/
#ProxyPreserveHost On
Redirect permanent / https://mysitedoxeo.fr/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName mysitedoxeo.fr
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /myws ws://localhost:8081
ProxyPassReverse /myws ws://localhost:8081
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mysitedoxeo.fr/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysitedoxeo.fr/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mysitedoxeo.fr/chain.pem
</VirtualHost>
- install ssl and some Apache2 modules
sudo a2enmod ssl
sudo a2enmod proxy proxy_wstunnel proxy_http rewrite
- do: sudo /etc/init.d/apache2 restart
gsm.sendAtCmd("AT+CPIN?")
gsm.sendAtCmd('AT+CPIN="1234"')
gsm.sendAtCmd('AT+CLCK="SC",0,"1234"')
gsm.sendAtCmd("AT+CPIN?")
More details here.
- Add to /boot/config.txt
dtoverlay = pi3-disable-bt
- Remove to /boot/cmdline.txt
console=serial0,115200
See details here.
If your SSID is not found then add your ssid in /usr/bin/autohotspot like:
ssids=('mySSID1' 'mySSID2')
if when starting hostapd this error happen
Failed to start hostapd.service: Unit hostapd.service is masked
then do
sudo systemctl unmask hostapd
- Download the driver here.
- Copy libmysql.dll into C:\Program Files\Qt\5.5\mingw492_32\bin
Open cmd line and run the code:
cd %QTDIR%\qtbase\src\plugins\sqldrivers
qmake -- MYSQL_INCDIR="%Mysql%/MySQL Server 8.0/include" MYSQL_LIBDIR="%Mysql%/MySQL Server 8.0/lib"
mingw32-make
mingw32-make install
%QTDIR% is the root direction for qt, %Mysql% is the root direction for mysql, See details here.
- Download Win32 OpenSSL v1.0.2n here.
- Install openSLL
- Copy libeay32.dll and ssleay32.dll into your executable folder


