adafruit / Adafruit_Blinka

Add CircuitPython hardware API and libraries to MicroPython & CPython devices
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux
MIT License
453 stars 340 forks source link

Adafruit-Adafruit-PlatformDetect version 3.69.0 was unable to identify the board #849

Closed Hurricane-k closed 3 months ago

Hurricane-k commented 3 months ago

Hello Everyone

NotImplementedError: Adafruit-PlatformDetect version 3.69.0 was unable to identify the board and/or microcontroller running the Windows platform. Please be sure you have the latest packages by running: pip3 install --upgrade adafruit-blinka adafruit-platformdetect. If you are running the latest package, your board may not yet be supported. Please open a New Issue on GitHub at https://github.com/adafruit/Adafruit_Blinka/issues and select New Board Request.

Best Regards.

LPonGit commented 3 months ago

Looks to me that you error has been caused by the import board command? Please post the full error output, it should be more like this File "/Users/lee/Documents/My Scripts/countup.py", line 5, in import board File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/board.py", line 425, in raise NotImplementedError( NotImplementedError: Adafruit-PlatformDetect version 3.69.0 was unable to identify the board and/or microcontroller running the Darwin platform. Please be sure you have the latest packages by running: 'pip3 install --upgrade adafruit-blinka adafruit-platformdetect'

What boards do you have connected ? What version of Python are you using ? run pip3 list and post the output

TommyWei-polyu commented 3 months ago

I have the same issue.

Traceback (most recent call last): Cell In[1], line 1, import board, File ~\AppData\Local\anaconda3\Lib\site-packages\board.py:425,raise NotImplementedError( NotImplementedError: Adafruit-PlatformDetect version 3.69.0 was unable to identify the board and/or microcontroller running the Windows platform. Please be sure you have the latest packages by running: 'pip3 install --upgrade adafruit-blinka adafruit-platformdetect' If you are running the latest package, your board may not yet be supported. Please open a New Issue on GitHub at https://github.com/adafruit/Adafruit_Blinka/issues and select New Board Request.

I am connecting to Adafruit AS731 https://learn.adafruit.com/adafruit-as7341-10-channel-light-color-sensor-breakout/overview

Python version is 3.11.7

pip3 list output:

Package Version


Adafruit-Blinka 8.43.0 adafruit-circuitpython-as7341 1.2.18 adafruit-circuitpython-busdevice 5.2.9 adafruit-circuitpython-connectionmanager 3.1.0 adafruit-circuitpython-register 1.9.18 adafruit-circuitpython-requests 4.0.0 adafruit-circuitpython-typing 1.10.3 Adafruit-PlatformDetect 3.69.0 Adafruit-PureIO 1.1.11 aiobotocore 2.7.0 aiohttp 3.9.3 aioitertools 0.7.1 aiosignal 1.2.0 alabaster 0.7.12 altair 5.0.1 anaconda-anon-usage 0.4.3 anaconda-catalogs 0.2.0 anaconda-client 1.12.3 anaconda-cloud-auth 0.1.4 anaconda-navigator 2.5.2 anaconda-project 0.11.1 anyio 4.2.0 appdirs 1.4.4 archspec 0.2.1 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0 arrow 1.2.3 astroid 2.14.2 astropy 5.3.4 asttokens 2.0.5 async-lru 2.0.4 atomicwrites 1.4.0 attrs 23.1.0 Automat 20.2.0 autopep8 1.6.0 Babel 2.11.0 backports.functools-lru-cache 1.6.4 backports.tempfile 1.0 backports.weakref 1.0.post1 bcrypt 3.2.0 beautifulsoup4 4.12.2 binaryornot 0.4.4 black 23.11.0 bleach 4.1.0 blinker 1.6.2 bokeh 3.3.4 boltons 23.0.0 botocore 1.31.64 Bottleneck 1.3.7 Brotli 1.0.9 cachetools 4.2.2 certifi 2024.2.2 cffi 1.16.0 chardet 4.0.0 charset-normalizer 2.0.4 click 8.1.7 cloudpickle 2.2.1 clyent 1.2.2 colorama 0.4.6 colorcet 3.0.1 comm 0.1.2 conda 24.1.2 conda-build 24.1.2 conda-content-trust 0.2.0 conda_index 0.4.0 conda-libmamba-solver 24.1.0 conda-pack 0.6.0 conda-package-handling 2.2.0 conda_package_streaming 0.9.0 conda-repo-cli 1.0.75 conda-token 0.4.0 conda-verify 3.4.2 constantly 23.10.4 contourpy 1.2.0 cookiecutter 2.5.0 cryptography 42.0.2 cssselect 1.2.0 cycler 0.11.0 cytoolz 0.12.2 dask 2023.11.0 datashader 0.16.0 debugpy 1.6.7 decorator 5.1.1 defusedxml 0.7.1 diff-match-patch 20200713 dill 0.3.7 distributed 2023.11.0 distro 1.8.0 docstring-to-markdown 0.11 docutils 0.18.1 entrypoints 0.4 et-xmlfile 1.1.0 executing 0.8.3 fastjsonschema 2.16.2 filelock 3.13.1 flake8 6.0.0 Flask 2.2.5 fonttools 4.25.0 frozenlist 1.4.0 fsspec 2023.10.0 future 0.18.3 gensim 4.3.0 gitdb 4.0.7 GitPython 3.1.37 gmpy2 2.1.2 greenlet 3.0.1 h5py 3.9.0 HeapDict 1.0.1 holoviews 1.18.3 hvplot 0.9.2 hyperlink 21.0.0 idna 3.4 imagecodecs 2023.1.23 imageio 2.33.1 imagesize 1.4.1 imbalanced-learn 0.11.0 importlib-metadata 7.0.1 incremental 22.10.0 inflection 0.5.1 iniconfig 1.1.1 intake 0.6.8 intervaltree 3.1.0 ipykernel 6.28.0 ipython 8.20.0 ipython-genutils 0.2.0 ipywidgets 7.6.5 isort 5.9.3 itemadapter 0.3.0 itemloaders 1.1.0 itsdangerous 2.0.1 jaraco.classes 3.2.1 jedi 0.18.1 jellyfish 1.0.1 Jinja2 3.1.3 jmespath 1.0.1 joblib 1.2.0 json5 0.9.6 jsonpatch 1.32 jsonpointer 2.1 jsonschema 4.19.2 jsonschema-specifications 2023.7.1 jupyter 1.0.0 jupyter_client 8.6.0 jupyter-console 6.6.3 jupyter_core 5.5.0 jupyter-events 0.8.0 jupyter-lsp 2.2.0 jupyter_server 2.10.0 jupyter_server_terminals 0.4.4 jupyterlab 4.0.11 jupyterlab-pygments 0.1.2 jupyterlab_server 2.25.1 jupyterlab-widgets 3.0.9 keyring 23.13.1 kiwisolver 1.4.4 lazy_loader 0.3 lazy-object-proxy 1.6.0 lckr_jupyterlab_variableinspector 3.1.0 libarchive-c 2.9 libmambapy 1.5.6 linkify-it-py 2.0.0 llvmlite 0.42.0 lmdb 1.4.1 locket 1.0.0 lxml 4.9.3 lz4 4.3.2 Markdown 3.4.1 markdown-it-py 2.2.0 MarkupSafe 2.1.3 matplotlib 3.8.0 matplotlib-inline 0.1.6 mccabe 0.7.0 mdit-py-plugins 0.3.0 mdurl 0.1.0 menuinst 2.0.2 mistune 2.0.4 mkl-fft 1.3.8 mkl-random 1.2.4 mkl-service 2.4.0 more-itertools 10.1.0 mpmath 1.3.0 msgpack 1.0.3 multidict 6.0.4 multipledispatch 0.6.0 munkres 1.1.4 mypy 1.8.0 mypy-extensions 1.0.0 navigator-updater 0.4.0 nbclient 0.8.0 nbconvert 7.10.0 nbformat 5.9.2 nest-asyncio 1.6.0 networkx 3.1 nltk 3.8.1 notebook 7.0.8 notebook_shim 0.2.3 numba 0.59.0 numexpr 2.8.7 numpy 1.26.4 numpydoc 1.5.0 openpyxl 3.0.10 overrides 7.4.0 packaging 23.1 pandas 2.1.4 pandocfilters 1.5.0 panel 1.3.8 param 2.0.2 paramiko 2.8.1 parsel 1.8.1 parso 0.8.3 partd 1.4.1 pathlib 1.0.1 pathspec 0.10.3 patsy 0.5.3 pexpect 4.8.0 pickleshare 0.7.5 pillow 10.2.0 pip 23.3.1 pkce 1.0.3 pkginfo 1.9.6 platformdirs 3.10.0 plotly 5.9.0 pluggy 1.0.0 ply 3.11 prometheus-client 0.14.1 prompt-toolkit 3.0.43 Protego 0.1.16 protobuf 3.20.3 psutil 5.9.0 ptyprocess 0.7.0 pure-eval 0.2.2 py-cpuinfo 9.0.0 pyarrow 14.0.2 pyasn1 0.4.8 pyasn1-modules 0.2.8 pycodestyle 2.10.0 pycosat 0.6.6 pycparser 2.21 pyct 0.5.0 pycurl 7.45.2 pydantic 1.10.12 pydeck 0.8.0 PyDispatcher 2.0.5 pydocstyle 6.3.0 pyerfa 2.0.0 pyflakes 3.0.1 pyftdi 0.55.4 Pygments 2.15.1 PyJWT 2.4.0 pylint 2.16.2 pylint-venv 2.3.0 pyls-spyder 0.4.0 PyNaCl 1.5.0 pyodbc 5.0.1 pyOpenSSL 24.0.0 pyparsing 3.0.9 PyQt5 5.15.10 PyQt5-sip 12.13.0 PyQtWebEngine 5.15.6 pyserial 3.5 PySocks 1.7.1 pytest 7.4.0 python-dateutil 2.8.2 python-dotenv 0.21.0 python-json-logger 2.0.7 python-lsp-black 1.2.1 python-lsp-jsonrpc 1.0.0 python-lsp-server 1.7.2 python-slugify 5.0.2 python-snappy 0.6.1 pytoolconfig 1.2.6 pytz 2023.3.post1 pyusb 1.2.1 pyviz_comms 3.0.0 pywavelets 1.5.0 pywin32 305.1 pywin32-ctypes 0.2.0 pywinpty 2.0.10 PyYAML 6.0.1 pyzmq 25.1.2 QDarkStyle 3.0.2 qstylizer 0.2.2 QtAwesome 1.2.2 qtconsole 5.4.2 QtPy 2.4.1 queuelib 1.6.2 referencing 0.30.2 regex 2023.10.3 requests 2.31.0 requests-file 1.5.1 requests-toolbelt 1.0.0 rfc3339-validator 0.1.4 rfc3986-validator 0.1.1 rich 13.3.5 rope 1.7.0 rpds-py 0.10.6 Rtree 1.0.1 ruamel.yaml 0.17.21 ruamel-yaml-conda 0.17.21 s3fs 2023.10.0 scikit-image 0.22.0 scikit-learn 1.2.2 scipy 1.11.4 Scrapy 2.8.0 seaborn 0.12.2 semver 2.13.0 Send2Trash 1.8.2 service-identity 18.1.0 setuptools 68.2.2 sip 6.7.12 six 1.16.0 smart-open 5.2.1 smmap 4.0.0 sniffio 1.3.0 snowballstemmer 2.2.0 sortedcontainers 2.4.0 soupsieve 2.5 Sphinx 5.0.2 sphinxcontrib-applehelp 1.0.2 sphinxcontrib-devhelp 1.0.2 sphinxcontrib-htmlhelp 2.0.0 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.5 spyder 5.4.3 spyder-kernels 2.4.4 SQLAlchemy 2.0.25 stack-data 0.2.0 statsmodels 0.14.0 streamlit 1.30.0 sympy 1.12 tables 3.9.2 tabulate 0.9.0 tblib 1.7.0 tenacity 8.2.2 terminado 0.17.1 text-unidecode 1.3 textdistance 4.2.1 threadpoolctl 2.2.0 three-merge 0.1.1 tifffile 2023.4.12 tinycss2 1.2.1 tldextract 3.2.0 toml 0.10.2 tomlkit 0.11.1 toolz 0.12.0 tornado 6.3.3 tqdm 4.65.0 traitlets 5.7.1 truststore 0.8.0 Twisted 23.10.0 twisted-iocpsupport 1.0.2 typing_extensions 4.9.0 tzdata 2023.3 tzlocal 2.1 uc-micro-py 1.0.1 ujson 5.4.0 Unidecode 1.2.0 urllib3 2.0.7 validators 0.18.2 w3lib 2.1.2 watchdog 2.1.6 wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.58.0 Werkzeug 2.2.3 whatthepatch 1.0.2 wheel 0.41.2 widgetsnbextension 3.5.2 win-inet-pton 1.1.0 wrapt 1.14.1 xarray 2023.6.0 xlwings 0.29.1 xyzservices 2022.9.0 yapf 0.31.0 yarl 1.9.3 zict 3.0.0 zipp 3.17.0 zope.interface 5.4.0 zstandard 0.19.0

LPonGit commented 3 months ago

Ghee you have a lot of Python experience judging by the installation of modules / libraries

OK, so Adafruit-Blinka and adafruit-circuitpython-as7341 1.2.18 are installed 👍

Point 1 I have noticed you don't have hidapi installed ? You will need hidapi.

How are you setting the Blinka Environment Variable within your Python script ? I was using an Adafruit_ht16K33 4x 7 Segment connected to a MCP2221A So I added the following lines to my script to set the Environment Variable

Point 2 You will need the same in your script, before import board command

import os
os.environ["BLINKA_MCP2221"] = "1"

Let me know how you get on.

All the best Lee

TommyWei-polyu commented 3 months ago

Point 1: I did install hidapi, which took me a while to figure it out. But it still does not work. Point 2: I set environment variable through windows. Does it work the same as through the script?

The error I got was something related to "MCP2221" was not connected. I guess it was because I was using Arduino to connect the Adafruit board. I just ordered a "Adafruit Feather M4", which may solve the problem?

LPonGit commented 3 months ago

I was setting the Evironment Variable from the terminal then launching my script from Python Launcher, this was giving me the error, but it was resolved instantly when I put the following before the import board command

import os
os.environ["BLINKA_MCP2221"] = "1"

in my script You are using a MCP2221A ? 😀

Hurricane-k commented 3 months ago

Looks to me that you error has been caused by the import board command? Please post the full error output, it should be more like this File "/Users/lee/Documents/My Scripts/countup.py", line 5, in import board File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/board.py", line 425, in raise NotImplementedError( NotImplementedError: Adafruit-PlatformDetect version 3.69.0 was unable to identify the board and/or microcontroller running the Darwin platform. Please be sure you have the latest packages by running: 'pip3 install --upgrade adafruit-blinka adafruit-platformdetect'

What boards do you have connected ? What version of Python are you using ? run pip3 list and post the output

i have post the full error, that happens when i run import board. and i try this on Linux, it doesnt work too but it caused by different things. so i almost definitely confirm that is nothing to do with the windows platform

Hurricane-k commented 3 months ago

Looks to me that you error has been caused by the import board command? Please post the full error output, it should be more like this File "/Users/lee/Documents/My Scripts/countup.py", line 5, in import board File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/board.py", line 425, in raise NotImplementedError( NotImplementedError: Adafruit-PlatformDetect version 3.69.0 was unable to identify the board and/or microcontroller running the Darwin platform. Please be sure you have the latest packages by running: 'pip3 install --upgrade adafruit-blinka adafruit-platformdetect'

What boards do you have connected ? What version of Python are you using ? run pip3 list and post the output

encounter this error when i make sure the board is connected, and can be recoginzed by my pc and my python is 3.7.4. and 3.69.0 is the latest version of this package. i mean detect platform

makermelissa commented 3 months ago

@Hurricane-k which board do you have that was not detected?

Hurricane-k commented 3 months ago

@Hurricane-k which board do you have that was not detected?

the board is Arduino UNO

Hurricane-k commented 3 months ago

@Hurricane-k which board do you have that was not detected?

Do you mind if i ask you another thing related to it.

When I try to use this board in Ubuntu 24.04, and in python==3.9. When run import board, the result does not follow my expectation. board.id_board='GENERIC_LINUX_PC' means nothing more will be imported. Why does that happen. Just cant run this Arduino board in Linux

makermelissa commented 3 months ago

Ok, Arduino Uno isn't supported and likely won't be. Blinka is intended to run in 3 different ways:

  1. It runs on boards that are able to host linux such as the Raspberry Pi
  2. It runs on a few different boards on top of MicroPython such as the Raspberry Pi Pico
  3. It runs on the computer to connect with the FT232H, MCP2221a, or RP2040-based boards with the UF2 firmware.

I'm fairly certain that the Arduino Uno doesn't fall under any of these categories. Even if MicroPython supports it, it likely doesn't have enough Flash to add Blinka as well.

When I try to use this board in Ubuntu 24.04, and in python==3.9. When run import board, the result does not follow my expectation. board.id_board='GENERIC_LINUX_PC' means nothing more will be imported. Why does that happen. Just cant run this Arduino board in Linux

If I recall, it was to allow it to pass the GitHub Actions checks since it doesn't have actual hardware to test with.

Hurricane-k commented 3 months ago

Ok, Arduino Uno isn't supported and likely won't be. Blinka is intended to run in 3 different ways:

  1. It runs on boards that are able to host linux such as the Raspberry Pi
  2. It runs on a few different boards on top of MicroPython such as the Raspberry Pi Pico
  3. It runs on the computer to connect with the FT232H, MCP2221a, or RP2040-based boards with the UF2 firmware.

I'm fairly certain that the Arduino Uno doesn't fall under any of these categories. Even if MicroPython supports it, it likely doesn't have enough Flash to add Blinka as well.

When I try to use this board in Ubuntu 24.04, and in python==3.9. When run import board, the result does not follow my expectation. board.id_board='GENERIC_LINUX_PC' means nothing more will be imported. Why does that happen. Just cant run this Arduino board in Linux

If I recall, it was to allow it to pass the GitHub Actions checks since it doesn't have actual hardware to test with.

thank you, got it. so being through Arduino IDE is the only way to upload code to Arduino Uno, is it right?

makermelissa commented 3 months ago

Ok, Arduino Uno isn't supported and likely won't be. Blinka is intended to run in 3 different ways:

  1. It runs on boards that are able to host linux such as the Raspberry Pi
  2. It runs on a few different boards on top of MicroPython such as the Raspberry Pi Pico
  3. It runs on the computer to connect with the FT232H, MCP2221a, or RP2040-based boards with the UF2 firmware.

I'm fairly certain that the Arduino Uno doesn't fall under any of these categories. Even if MicroPython supports it, it likely doesn't have enough Flash to add Blinka as well.

When I try to use this board in Ubuntu 24.04, and in python==3.9. When run import board, the result does not follow my expectation. board.id_board='GENERIC_LINUX_PC' means nothing more will be imported. Why does that happen. Just cant run this Arduino board in Linux

If I recall, it was to allow it to pass the GitHub Actions checks since it doesn't have actual hardware to test with.

thank you, got it. so being through Arduino IDE is the only way to upload code to Arduino Uno, is it right?

I think you can also use VSCode with the PlatformIO extension or put Snek lang (similar to python) on it as well.