Analog Engineers Circuit Cookbook- Amplifiers
이 자료의 목차는 다음과 같다.
미국의 OSHW협회에서 발간한 THE STATE OF OPEN SOURCE HARDWARE 2021. – https://stateofoshw.oshwa.org/
아두이노에도 데이터를 실시간으로 plot하는 기능이 있지만, 오토스케일링 기능 때문에 가끔 불편할 때도 있다. Python Playground 책의 저자의 블로그를 보니 실시간으로 시리얼 데이터를 받아서 mathplot을 사용해서 그래프를 출력하는 프로그램이 있어서 사용해 봤다.
사용법: python ldr.py –port [port]
VS Code에서 파이썬 코드를 디버깅할 때 인자를 입력 빋아서 디버깅하는 방법이 있는 것 같아서 구글링을 해보고 tasks.json파일을 수정해서 해봤는데, 잘 안되어서 코드를 수정해서 테스트를 했다. 원래 사용법은 위 사용법처럼 포트명을 입력을 해야 함.
TinML 관련된 책도 읽어보고 프로젝트에 적용도 해봤지만, 논문이나 관련된 글을 쓸때 도움이 될 것 같은 문서.
Silab 사의 개발 환경인 Simplicity Studio 5 를 맥(Big Sur)에서 사용시 프로젝트를 구성을 할 때 Bluetooth Configurator 가 제대로 안되고 에러가 난다.
An internal error occurred during: “Generating apack_btConfig for project_name“.
Failed to generate setup apack_btConfig exited with 134:
dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
Referenced from: /Applications/Simplicity Studio.app/Contents/Eclipse/developer/adapter_packs/python/bin/python3
Reason: image not found
문제를 해결하기 위해서는 /Applications/Simplicity Studio.app/Contents/Eclipse/developer/adapter_packs/python/bin/ 이 위치에 설치된 파이썬을 사용하지 않고 Python 3.6버전을 사용하고 이 버전에 심볼릭 링크를 거는 것이다.
1. Create a python 3.6 anaconda environment. Activate it and find the location of python in the env.
In my case, it is /Users/user_name/opt/anaconda3/envs/studio/bin/python
2. Soft link all python files to that location in the following location.
/Applications/Simplicity Studio.app/Contents/Eclipse/developer/adapter_packs/python/binln -s /Users/yaoyu/opt/anaconda3/envs/studio/bin/python ./python
ln -s /Users/yaoyu/opt/anaconda3/envs/studio/bin/python ./python3
ln -s /Users/yaoyu/opt/anaconda3/envs/studio/bin/python ./python3.6
최근 TinyML 관련 프로젝트를 하고나서, 그동안 괜찮았던 내용들을 정리한다. 물론 가장 기본이 되는 것은 구글의 TensorFlow Lite for Microcontrollers의 내용과 깃헙의 자료이다.
펌웨어 개발을 할때 MCU의 I/O핀을 맵핑해서 사용을 하게 된다. 아두이노의 경우에는 실제 HW 핀 매핑을 MCU 벤더에서 제공하는 것 처럼 low level로 access하지 않고, 보드의 실크에 적혀있는 핀 번호로 access할 수 있도록 추상화를 해 놓았다. 실제로 핀 매핑이 어떻게 되는지 보려면 맥의 경우 $HOME/라이브러리/Arduino15/packages 아래에 각 플랫폼 별로 되어 있는 폴더를 확인해 봐야 한다. 예를 들면 adafruit의 경우 /packages/adafruit/hardware/nrf52/0.21.0/variants/feather_nrf52840_express/variant.h파일과 variant.cpp 파일을 확인해 보면 된다.
PlatformIO도 아두이노와 마찬가지로 VSCode에 설치를 하면 맥에서는 $HOME/.platformio/packages 폴더 아래에 각각의 프레임워크에서 사용하는 bootloader, library들이 설치가 되어 있다.
$ conda upgrade pip
$ pip install upgrade
// 가상환경 만들기 (tensoflow 2.4 버전에서는 python 3.8을 사용함)
$ conda create -n tf14 python=3.6
// 가상환경 활성화
$ conda activate tf14
(tf14) pip install tensorflow==1.14.0
// Tensorflow 설치
(tf14) pip install –ignore-installed –upgrade tensorflow-cpu
// TF lite 코드 다운로드 (github CLI를 설치했음)
(tf14) gh repo clone tensorflow/tensorflow
// Hello World 예제의 테스트 빌드로 확인
$ make -f tensorflow/lite/micro/tools/make/Makefile test_hello_world_test