2018年6月26日 星期二

Invalid MIT-MAGIC-COOKIE-1 ??



python3 tkui.py 直接執行可以..但是無法在開機時自動執行, 原因是執行X Window應用程式(X X Client),若要能連接到X Server 時, X Client 必須要提供兩個設置


  1. 設置遠端 XServer  DISPLAY 環境變數。
    export DISPLAY=:0.0
  2. 能讀到 Xauthority下的cookie檔 ( 位在每個user 的HOME目錄的.Xauthority 目錄)
    export XAUTHORITY=/home/<YOUR-USER-NAME>/.Xauthority


通常用自己登入帳號去執行X Client 程式沒有問題, 但若不是或經由 sudo 去執行,則必須設定  Xauthority的位置.


用pi 帳戶, 執行 python3 tkui.py 沒有問, 但是用 sudo python3 tkui.py 會出現錯誤

例如:

pi@raspberrypi:~ $ sudo python3 tkui.py
Invalid MIT-MAGIC-COOKIE-1 keyInvalid MIT-MAGIC-COOKIE-1 keyTraceback (most recent call last):
  File "tkui.py", line 16, in <module>
    win=Tk.Tk()
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1880, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":0.0"



解決方式: 

pi@raspberrypi:~ $ export XAUTHORITY=/home/pi/.Xauthority
pi@raspberrypi:~ $ sudo python3 tkui.py   ==> 能正常執行,因為能找到Xauthority 檔案



References:

https://iwf1.com/quick-fix-invalid-mit-magic-cookie-1-sudo




2018年6月24日 星期日

使用pyserial讀取Serial資料










Trouble Shooting


 pip3 install pyserial

Traceback (most recent call last):
  File "serial.py", line 1, in <module>
    import serial
  File "/home/pi/serial.py", line 3, in <module>
    port = serial.Serial("/dev/ttyUSB0", baudrate=9600, timeout=3.0)
AttributeError: module 'serial' has no attribute 'Serial'

解法:  pip3 uninstall serial

>>> import serial
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: bad magic number in 'serial': b'\x03\xf3\r\n'

解法:  find . -name \*.pyc -delete




https://goo.gl/EcCcj7

2018年6月11日 星期一

[Raspberry Pi] 開機後LCD螢幕不要變黑





How to disable monitor power saving option in Raspberry PI?

最簡單方式就是裝xscreensaver的應用程式, 然後不要啓動 Screen Saver

sudo apt-get install xscreensaver
 then on the main preferences page set MODE: Disable Screen Saver







https://goo.gl/EcCcj7

2018年6月7日 星期四

[Raspberry pi] Python GUI Tkinter



如何執行?
export DISPLAY=:0.0
python3 tkui.py













----------------------------------------------

Create GUI with TKInter over SSH

這一行, 就可以用SSH開發GUI程式, 讓視窗畫面出現在LCD上


export DISPLAY=:0.0

----------------------------------------------

RPi 4"Inch 480x320 LCD (SPI 界面)

[Raspberry Pi] Give root password for maintenance ..



若Raspberry Pi 出現一直出現 "
Give root password for maintenance (or type Control-D continue .." 而無法直接進入Desktop視面系統怎麼辦?

把SDcard 拿到別台Linux機器, 當然也可以是另外一台Pi, 做以下動作, 就可以做檔案系統修復


sudo fdisk -l

sudo fsck /dev/sda2 -y





https://goo.gl/EcCcj7


2018年6月4日 星期一

HTML5-WebRTC



WebRTC is an open source project to enable realtime communication of audio, video and data in Web and native apps.

WebRTC網路即時通信Web Real Time Communication)的縮寫,它主要用來讓瀏覽器即時獲取和交換視頻、音訊和資料。
WebRTC共分三個API
·         MediaStreamgetUserMedia
·         RTCPeerConnection
·         RTCDataChannel

getUserMedia主要用於獲取視頻和音訊資訊,後兩個API用於覽器之間的資料交換。
https://webrtc.github.io/samples/src/content/getusermedia/gum/

Demo:



Display the video stream from getUserMedia() in a video element.
The MediaStream object stream passed to the getUserMedia() callback is in global scope, so you can inspect it from the console.