Beberapa Error Selama Proses Ngoprek Raspberry Pi dan Solusinya

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.

0 0 votes
Article Rating

Leave a Reply

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Andika Nugraha

untuk error 13 bagaimana cara perbaikinya?

2
0
Would love your thoughts, please comment.x
()
x