Create a task to run this batch at the Windows system startup
wsl_ssh_port_forward.bat
Create a task to run this batch at the Windows system startup
wsl_ssh_port_forward.bat
FT232H + Adafruit Blinka on Windows 11
Windows Ver.24H2, OS Build 26.100.3915
Python 3.10.7
Download Zadig from its page: https://zadig.akeo.ie/
Plug FT232H board to Windows
Open Zadig and reinstall the driver for FT232H, follow the instructions in this page:
https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h/windows
Make sure selecting the correct device then select "libusbK", then click on "Replace Driver"
Before & After replace the driver:
Create python virtual env then activate python virtual env
% mkdir ws_py && cd ws_py
% python -m venv .venv
% .venv\Scripts\activate.bat
Install additional libraries to check if FT232H can be recognized
% pip3 install pyusb
% pip3 install pyftdi
Then try to run this code to show the device information
>>> import usb
>>> import usb.util
>>> dev = usb.core.find(idVendor=0x0403, idProduct=0x6014)
>>> print(dev)
Now we can try to use this with the 0.91 inch OLED SSD1306 by executing the following steps
(.venv) % pip install Pillow
(.venv) % pip install adafruit-circuitpython-ssd1306
(.venv) % pip install adafruit-blinka
(.venv) % git clone https://github.com/adafruit/Adafruit_CircuitPython_SSD1306.git
(.venv) % cd Adafruit_CircuitPython_SSD1306\examples
(.venv) % set BLINKA_FT232H=1 → Always need this ENV when using FT232H(!!!)
(.venv) % python ssd1306_simpletest.py
Now we should see something drawn on the tiny display
Done.
Make sure firefox is installed
$ firefox -V Mozilla Firefox 115.5.0esr
Download geckodriver
$ wget https://github.com/mozilla/geckodriver/releases/download/v0.34.0/geckodriver-v0.34.0-linux-aarch64.tar.gz $ tar xzvf geckodriver-v0.34.0-linux-aarch64.tar.gz
After this step "geckodriver" should be there
$ ./geckodriver -V geckodriver 0.34.0 (c44f0d09630a 2024-01-02 15:36 +0000) The source code of this program is available from testing/geckodriver in https://hg.mozilla.org/mozilla-central. This program is subject to the terms of the Mozilla Public License 2.0. You can obtain a copy of the license at https://mozilla.org/MPL/2.0/
Install 'selenium'
$ pip3 install selenium
Test code
import os import sys import logging from selenium import webdriver from selenium.webdriver.firefox.service import Service THIS_DIR = os.path.dirname(os.path.abspath(__file__)) DRIVER = os.path.join(THIS_DIR, "geckodriver-v0.34.0-linux-aarch64", "geckodriver") if not os.path.exists(DRIVER): print("Cannot find 'geckodriver'") sys.exit(1) def main(): print("Downloading web page...") s = Service(executable_path=DRIVER) options = webdriver.FirefoxOptions() options.add_argument("--headless") driver = webdriver.Firefox(service=s, options=options) driver.get("https://www.google.com") driver.save_screenshot("screenshot.png") print("Please check screenshot image") driver.quit() if __name__ == '__main__': main()
After run this code "screenshot.png" should be generated
To show "screenshot.png" image in RLogin
$ sudo apt install libsixel-bin $ img2sixel screenshot.png
Done.
Ubuntu 18.04 has python3.6.x installed but after install python3.8 and used "update-alternatives" to change the default python3 to python3.8, got the following error when running unknown command on the terminal
$ dummyyycommand from CommandNotFound import CommandNotFound File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 19, in from CommandNotFound.db.db import SqliteDatabase File "/usr/lib/python3/dist-packages/CommandNotFound/db/db.py", line 5, in import apt_pkg ModuleNotFoundError: No module named 'apt_pkg'
This is caused because python3.8 cannot load "apt_pkg.cpython-36m-x86_64-linux-gnu.so"
$ cd /usr/lib/python3/dist-packages; ls -al | grep apt drwxr-xr-x 4 root root 4096 Mar 3 22:23 apt drwxr-xr-x 4 root root 4096 Jun 1 2021 aptdaemon -rw-r--r-- 1 root root 51576 Dec 1 2022 apt_inst.cpython-36m-x86_64-linux-gnu.so -rw-r--r-- 1 root root 227 Dec 1 2022 apt_inst.pyi -rw-r--r-- 1 root root 346784 Dec 1 2022 apt_pkg.cpython-36m-x86_64-linux-gnu.so -rw-r--r-- 1 root root 8900 Dec 1 2022 apt_pkg.pyi drwxr-xr-x 3 root root 4096 Mar 3 22:23 aptsources -rw-r--r-- 1 root root 226 Dec 1 2022 python_apt-1.6.6.egg-info
To fix this issue just create a link named 'apt_pkg.so' points to "/usr/lib/python3/dist-packages/apt_pkg.cpython-36m-x86_64-linux-gnu.so"
$ cd /usr/lib/python3/dist-packages $ sudo ln -s apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so