Contents
Berikut ini adalah beberapa error yang terjadi saat proses ngoprek RAspberry Pi dan solusinya setelah melakukan beberapa troubleshoot dan mencari referensi di internet. Selain buat catatan saya sendiri, juga barangkali bermanfaat buat pembaca yang mungkin kebetulan mengalami hal yang sama. Catatan mungkin akan terus berkembang seiring dengan kebutuhan saya dalam mengoprek Raspberry Pi. Kalau ada pertanyaan atau mungkin error yang lain silahkan posting di kolom komentar ya
Error 1:
ImportError: Keras requires TensorFlow 2.2 or higher. Install TensorFlow via `pip install tensorflow`
Solusi: saya cek pake perintah pip install -U tensorflow, kok versi paling tinggi masih 1.x.x, kan bingung jadinya. Akhirnya terpaksanya downgrade library Keras-nya aja. Dan it’s works đŸ™‚
pip uninstal keras pip install keras==2.1.5
Error 2:
cv2.error: OpenCV(4.5.2-dev) /home/pi/opencv/modules/dnn/src/caffe/caffe_io.cpp:1121: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "deploy.prototxt" in function 'ReadProtoFromTextFile'
Solusi: coba running script dari folder direktorinya langsung (pake perintah cd [nama_direktori]) , jangan dari folder utama (misal home/pi)
Error 3:
error: (-215:Assertion failed) !empty() in function 'detectMultiScale'
Solusi: Coba eksekusi perintah pake python3 dan langsung dari direktori script atau cek lagi path file haarCascade
python3 tescam.py
Error 4:
AttributeError: module 'cv2.cv2' has no attribute 'face'
Solusi: atribut face berada di paket opencv.contib.python, jadi instal paket tersebut
pip install opencv-contrib-python
Error 5:
cv2.error: OpenCV(4.5.2-dev) /home/pi/opencv/modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'
Solusi: jika Anda masih menggunakan Python 2.x.x, cobalah untuk beralih menggunakan Python 3.x.x. Cara cek versi python masukkan perintah sbb:
python --version python3 --version
Untuk mengeksekusi script gunakan perintah :
python3 script_anda.py
Error 6:
Error ini terjadi saat mau menggabungkan openCV dengan Flask. Jadi output dari openCV rencananya mau ditampilkan langsung di web browser. Namun terjadi error ini
[ WARN:0] global /tmp/pip-wheel-b0jd8w40/opencv-contrib-python/opencv/modules/videoio/src/cap_v4l.cpp (893) open VIDEOIO(V4L2:/dev/video0): can't open camera by index
Solusi:
salah posisi cv2.videocapture(0). Contoh posisi script yang salah:
app = Flask(name) cap = cv2.VideoCapture(0) def igen_frames(): while(True): ret, frame = cap.read()
yang benar:
app = Flask(name) def igen_frames(): cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read()
Error 7
Pada saat buka phpmyadmin dan saat browse tabel, selalu muncul error sebagai berikut:
Warning in ./libraries/sql.lib.php#613 count(): Parameter must be an array or an object that implements Countable
Solusi:
dari Terminal (command prompt Raspberry Pi) masukkan perintah sbb:
sudo sed -i "s/|\s*\((count(\$analyzed_sql_results\['select_expr'\]\)/| (\1)/g" /usr/share/phpmyadmin/libraries/sql.lib.php
Error 8
data = pickle.loads(open(encodingsP, "rb").read()) UnicodeDecodeError: 'ascii' codec can't decode byte 0xa5 in position 4: ordinal not in range(128)
Error ini terjadi saat mau mengeksekusi pickle di python3. Ternyata, proses decoding pickle defaultnya menggunakan ASCII. Jika python2 default encoding ASCII, tidak demikan halnya dengan Python3. Kita harus mendefinisikannya secara manual. Untuk case saya, solusinya adalah dengan menambahkan parameter encoding, sbb:
data = pickle.loads(open(encodingsP, "rb").read(), encoding="latin1")
Error 9
Muncul Error 403 Forbidden You don’t have permission to access this resource saat coba mengakses web localhost setelah Apache selesai diinstal
Solusi : ubah folder permission var/www dengan memasukkan perintah sbb:
sudo chmod 755 /var/www chown -R www-data:www-data /var/www/html
Error 10
Salah utak utik change permission sehingga folder var/www tidak bisa dibuka (permission denied)
Solusi : balikin ke settingan default
sudo adduser $USER www-data sudo chown $USER:www-data -R /var/www/html sudo chmod u=rwX,g=srX,o=rX -R /var/www/html sudo find /var/www/html -type d -exec chmod g=rwxs "{}" \; sudo find /var/www/html -type f -exec chmod g=rws "{}" \;
Error 11
Sebenarnya bukan error sih, tapi sekedar warning aja seperti ini
xscreensaver-command: warning: $DISPLAY is not set: defaulting to ":0.0".
Solusi:
masukkan command sbb:
export DISPLAY=:0.0
Error 12:
Error ini muncul ketika akan insert data (melalui phpmyadmin) dengan salah field bertipe ‘TIMESTAMP’
#1292 - Incorrect datetime value: 'current_timestamp().000000'
Solusi:
Masukkan query SQL ini ke root database
SET GLOBAL sql_mode = '';
Error 13:
Error ini lanjutan error sebelumnya, yakni gagal memasukkan nilai waktu sekarang (current timestamp) saat insert data ke tabel yang salah satu fieldnya bertime timestamp.
Solusi:
Error ini terjadi karena secara default phpymyadmin akan menambahkan ‘current_timestamp().00000 di field timestamp. Solusinya ganti menjadi CURRENT_TIMESTAMP()
Error 14
AttributeError: module 'tensorflow' has no attribute 'Session'
Solusi:
ganti tf.Session() dengan tf.compat.v1.Session()
Error 15
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 44 from C header, got 40 from PyObject
Solusi: upgrade library numpy minimal versi 1.20.0
pip uninstall numpy pip install numpy==1.20.0
Demikian beberapa error yang saya alami selama bereksperimen menggunakan Raspberry Pi 4. Kadang solusinya simple aja, tapi kalau ngga tau bisa bikin kepala pusing 7 keliling đŸ™‚ . Semoga catatan saya di atas bermanfaat buat pembaca. Jika ada pertanyaan silahkan disampaikan di kolom komentar.
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
untuk error 13 bagaimana cara perbaikinya?
di bawahnya sudah solusinya mas: ‘Error ini terjadi karena secara default phpymyadmin akan menambahkan ‘current_timestamp().00000 di field timestamp. Solusinya ganti menjadi CURRENT_TIMESTAMP()’