작은낙서장2024. 8. 23. 10:48

ST Micro의 Nucleo 보드는 시험개발용으로 혹은 교육용으로 쓰기에 매우 적절합니다. 

보통은 같이 제공되는 STM32 Cube IDE 로 개발을 합니다....... 만.... 

 

세상에는 가끔 이걸 못 쓰는 병신(...) 혹은 피치 못할 사정(보드 급사) 으로 혹은 아두이노 코드를 재활용 해야 하는 경우가 있습니다. .... 네 그게 접니다 (...) 

그런데 Arduion IDE로 Nucleo-32 보드에 프로그램을 올릴 수 있다고는 하는데 한글로 된 자세한 설명은 드물어서 

몇시간 무지성 검색을 한 끝에 성공했으니 기록을 남깁니다. 

 

1. 시작 전에 STM32 Cube Programmer 프로그램 (ST Micro 공홈에서 받습니다. ) - 미리 설치합시다. 

그리고 시스템 속성 - 환경변수 에서 Path 에 Cube 프로그래머 위치를 등록합니다. 

 

2.  Nucleo 보드 (저는 STM32F303K8 Nucleo-32 보드를 써습니다.) 및 USB 케이블이 정상적으로 연결 되는지 확인합니다. 

3. 아두이노 IDE를 실행합니다.  파일 - 기본설정에 들어가서..

4. 추가 보드 관리자 옆 빈칸 옆에 있는 녹색 버튼을 누릅니다. 

여기에 다음 한 줄을 입력합니다. 

https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

5. 확인을 누르고 첫 화면으로 나와서 보드매니저를 누릅니다. 검색창에 nucleo 혹은 STM32 를 치면 맨 위에 보드 패키지가 나옵니다. 설치해주면 됩니다. 

6. 이제 보드 세팅을 해야 합니다. 도구를 눌러서 다음과 같이 세팅합시다. 

보드 종류는 Nucleo-32, 포트는 처음에 인식된 포트로, 보드 파트넘버가 맞는니 확인하고, 

제일 중요한 업로드 방법을 SWD 로 해야 에러가 안 납니다. USB는 없으니 None 이고, UART는 저는 필요가 없어서 껐지만 보통은 켭니다. 

 

7. 그리고.. 프로그램을 작성해야 하는데..... 간단히 LED 부터 깜빡여 봅시다. 

파일 - 예제 - 01_베이직 - Blink 를 누르면 아두이노용 blink 예제가 나옵니다. 이걸 그대로 컴파일 - 업로드 해도 에러는 안 나는데 동작 안 합니다... ㅎㅎ.. 

 

8. 일단 보드 유저 매뉴얼을 보면.... UM1956 매뉴얼을 보라고 되어 있습니다. 

https://www.st.com/resource/en/user_manual/dm00231744.pdf

매뉴얼을 보면... 사용자 LED인 LD3는 PB3에 연결되어 있군요... 

그러면 아래의 기존 예제에서, LED_BUILTIN 을 PB3 으로 바꿔 줍시다... 이제 -> 버튼을 눌러 업로드 하면 의도대로 동작합니다. ... 컴파일 시간이 분 단위로 걸릴만치 오래 걸리지만요 (.....) 

9. 하지만 이제 좀 더 멀쩡한 걸 하려면 어떻게 해야 할까요? 

API 문서를 뒤질 차례죠..... 

https://github.com/stm32duino/Arduino_Core_STM32/wiki

 

Home

STM32 core support for Arduino. Contribute to stm32duino/Arduino_Core_STM32 development by creating an account on GitHub.

github.com

API 레퍼런스에 어떻게 쓰라고 친절하게 나와 있습니다. 

혹은 아예 제조사에서 제공하는 예제를 뒤지는 방법도 있지요 

https://github.com/stm32duino/STM32Examples/

 

GitHub - stm32duino/STM32Examples: Arduino library to provide several examples for the Arduino core for STM32 MCUs.

Arduino library to provide several examples for the Arduino core for STM32 MCUs. - stm32duino/STM32Examples

github.com

즐거운 프로그래밍이 되시길 바랍니다. 

 

저는 비록 기존에 쓰던 아두이노 보드가 급사해서 땜빵하느라 이걸 썼는데.....

컴파일 속도가 정말 끔찍하게 느립니다.... 확인된 코드를 재활용하는것만 아니었어도 이짓을 안 하는건데.... 

Posted by Astas
작은낙서장2024. 4. 23. 00:13

1. 뿌리파리는 다이소에서 산 제충국 성분 포함 가드닝용 살충제 따위로는 죽지 않는다 

2. 전자모기향을 피운다고 죽지도 않는다. 

3. 날아다니는 성충은 끈끈이가 답이다. 알리익스프레스에서 묶음으로 사자.

4. 알과 유충을 잡는건 빅카드 희석해서 뿌려라. 

5. 완전히 잡으려면 줄기와 잎에 뿌리는건 기본이고 희석해서 흙 전체에 퍼지도록 해야 싹 때려잡을 수 있다. 

6. 빅카드 냄새를 일부러 맡는 취미가 없다면 환기 잘 되는 곳에다 두고 뿌린 다음 한나절 뒤에 회수하자... 

Posted by Astas
작은낙서장2023. 2. 7. 21:55

1. 어떤 위키를 쓸 것인가? 

현 시점에서 선택할 수 있는 옵션은 대략 세 가지쯤? 

 - 도쿠위키 : 장점 - 설치/백업/설정이 쉽다. 단점 - DB 없이 파일로 돌아간다 = 문서가 몇천개쯤 가면 검색이 느려진다

 - PM위키 : php 기반이고, 위와 거의 유사한데... 한국어 지원이 빡셈, 이것도 DB 없이 굴러간다 

 - 미디어위키 : 최신엔진 기술지원도 꾸준한...데... 최적화 이슈 + 설치빡셈 + 개인 위키에 이걸 왜..?

 

.... 는 결국 미디어 위키를 윈도우 PC에 설치한 병신이 접니다.... 설마 이런 등신이 또 있겠어...?

 

2. 미디어위키 설치 (뉴비용)

 

a. 우선 Chocolatey 를 먼저 설치합시다. "cmd.exe" 를 관리자 권한으로 실행하고 아래 코드를 실행합시다. 시간이 좀 걸립니다.. 

 

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

 

(출처 : https://yamoo9.github.io/preparing-for-class/guidebook/Chocolatey.html#%EC%84%A4%EC%B9%98)

 

b. 다음으로 Chocolatey GUI를 설치합시다. 

choco install -y chocolateygui

 

c. 이제 Chocolatey GUI를 실행하고 Laragon을 찾아 설치합시다.

d. "diff" 로 검색해서 나오는 GNU DiffUtils for Windows를 찾아 설치합니다. 겸사겸사 Git도 설치를..

 

e. UI를 닫고 다음 주소에서 PHP 7.4의  "VC15 x64 Non Thread Safe (2022-Nov-02 21:46:55)" 버전을 받습니다. zip을 받으면 됩니다.

 

https://windows.php.net/download#php-7.4

f. 받은 파일을 C:\laragon\bin\php에 넣고 압축을 풉니다. 

g. 다음으로 WinCache를 받습니다. 

https://sourceforge.net/projects/wincache/files/development/wincache-2.0.0.8-dev-7.4-nts-vc15-x64.exe/download

 

h. 받은 파일을 실행해서 압축을 풀고, 파일을 C:\laragon\bin\php\php-7.4.33-nts-Win32-vc15-x64\ext\ 폴더로 복사합니다. 

i. 이제 미디어위키 공식 사이트에서 "안정" 버전을 받아서, 위키를 돌릴 SSD/HDD에 복사해서 압축을 풀어 준비를 합니다. 

 

j. 이제 Laragon을 실행합니다. 

k. 오른쪽 버튼을 눌러 나오는 메뉴에서 php가 내가 받은 7.4 버전이 선택되었나 확인합니다. (안 되어 있으면 선택)

l. MySQL - my.ini를 눌러 설정파일을 엽니다. 

m. [mysqld] 아래에 다음 두 줄을 추가합니다. 

collation_server = utf8mb4_general_ci
character_set_server = utf8mb4

n. MySQL - change root password로 루트계정 암호를 지정합니다. 

o. 메뉴 - Preferences 를 눌러 아까 i 에서 준비한 wiki 폴더와 데이터 폴더를 지정합니다. 

 

p. Start All 을 눌러서 웹서버/SQL서버를 실행합시다. 

r. 이제 웹브라우저(크롬, 엣지)를 켜고 127.0.0.1 혹은 localhost를 누르면 설치 페이지가 열립니다. 링크 눌러서 하라는 대로 따라 갑시다. 

s. 이 페이지에서 Git 을 설치 프로그램이 못 찾을수도 있습니다. 사용에 크게 문제가 없으니 넘어갑시다... 만약 diff와 캐시는 없다고 경고가 뜨면 위에 설치 과정 중 어딘가를 빼먹은 겁니다. 

 t. 아까 설정한 MySQL 비밀번호만 잘 입력하면 에러는 없을 것입니다. 파일 업로드 허용 등 필요한 세팅을 하면 됩니다. 

u. 다음을 계속 누르다 보면 아래와 같은 페이지와 함께 LocalSettings.php 파일이 자동으로 다운로드 됩니다. 만약 안 받아졌으면 페이지 안의 링크를 눌러 받습니다. 

 

v. 받은 파일을 index.php와 같은  폴더에 넣습니다. 

 

w. 이제 웹 브라우저를 열고 localhost 로 접속을 시도하면 위키가 열립니다. 

x. 같은 네트워크의 다른 컴퓨터에서 접속 시도를 해 봐서 문제가 없으면 설치 완료입니다.

 

y. ..... 는 만약 다른 컴퓨터에서 해당 위키로 접속 시도를 하는데 아래처럼 localhost로 넘어가 버리면.. 

z. LocalSettings.php 파일을 열어 $wgServer 가 localhost로 되어 있는것을 해당 컴퓨터의 ip로 수정하면 됩니다. 이제 끝!

 

** 추가 1. 외부 링크를 새 창에 띄우려면, LocalSettings.php에 다음을 추가로 입력한다. 

$wgExternalLinkTarget = '_blank';

 

Posted by Astas
작은낙서장2019. 2. 12. 15:31

https://github.com/Include-sys/GUI-for-GoodbyeDPI/releases


 

파이어폭스 가지고 하는 방법은 널리 알려져 있으니 패스, 

크롬 혹은 익스플로러나 엣지 등등 모든 시스템에 적용하도록 하는 방법이 있다. 


VPN 같은거 아니니 다운로드 속도 같은건 고대로고... DNS를 1.1.1.1로 써서 생기는 지연은 어쩔수가 없더라....  

위 링크 가서 자기 OS에 맞는 버전 받고, 압축 풀고 실행한 다음 시작 누르면 된다.

 


위와 같이 나오면 성공한 것이니 적당한 곳을 접속해 보도록 하자.

접속이 잘 되는걸 확인할 수 있다. 


웹 크롤링 등 다른 소프트웨어에서도 원래는 아래처럼 실패가 뜨는데... 

이제 저 프로그램을 실행하면 아래와 같이 깔끔하게 성공하는 것을 볼 수 있다. 



이게 언제까지 될지는 모르겠지만... 

처음에는 HTTP를 DNS로 막았고.

그 다음은 HTTPS over TLS로 우회하던걸 SNI를 이용해서 막았고.

이번에 SNI를 이용한 방법은 ESNI나 요런 다른 방법으로 뚫었거나 우회했는데..

... 다음은 또 뭘 들고 오려나... 

Posted by Astas
작은낙서장2011. 10. 6. 09:17
혁신을 주도했던 한 사나이, 영원한 혁신을 꿈꾸며 잠들다.

Posted by Astas
작은낙서장2011. 8. 19. 14:35
쉐보레 볼트.. 생각보다 재미있는 차네요.

자세한 내용은 이쪽으로 -> http://sgoon.tistory.com/1353


발전기 달린 전기차 정도로 생각하고 있었는데...

휘발유 대신 디젤로 하면 너무 무거워져서 효율이 떨어지려나.. 음...


여하간 국내에도 들어와서 이슈를 만들어주면 좋겠네요.
Posted by Astas
작은낙서장2011. 8. 11. 13:05

애플은 6가지 부분에서 삼성전자 갤럭시탭 10.1이 아이패드의 지적재산권을 침해했다고 주장하고 있다.
  1. 네 모통이가 균일하게 둥글게 만들어진 사각형 모양의 제품,
  2. 제품의 앞표면은 평평하고 투명하다,
  3. 평평하고 투명한 앞표면은 뚜렷하게 구별할 수 있는 금속으로 둘러쌓여있다.
  4. 투명한 앞표면 아래 중앙에 디스플레이가 위치해 있다.
  5. 투명한 앞표면 아래 놓여 있는 디스플레이의 4면은 명확하고 중립적인 경계를 가지고 있다.
  6. 제품의 전원을 켰을 때 색상을 가진 아이콘이 디스플레이에 나타난다.


이상이 애플이 주장하는 갤럭시탭 10.1이 침해한 아이패드의 지적재산권...


 애플에 어떤 아이디어도 주지 말아라. 걔들은 스마트폰을 주머니에 넣고 오른발로 걷는 거도 특허로 걸어버릴 놈들이다. ...


이런 걸 보고 썩을놈들이라고 해야 하나...
Posted by Astas
작은낙서장2011. 8. 4. 13:12
王八蛋  을 외쳐주세요 ...

그놈 + 그놈 부모까지 한큐에 엮어서 하는 욕 입니다 (...)


사기치는 놈 따위 -_-
Posted by Astas
작은낙서장2010. 7. 24. 00:04
http://sports.khan.co.kr/news/sk_index.html?art_id=200610292223553&sec_id=560101


자세한 내용은 위의 링크를 참조.

나치가 2차대전에서 승리하였다면?

... 1984도 그렇지만... 이것도 보고 싶다..


막장 of 막장이란 이런 것이다!
Posted by Astas
작은낙서장2010. 6. 25. 11:26
6.25 전쟁 발발 60년이 되는 해 입니다.

나라와 가족을 위하여 싸운 호국 영령과,

저 먼 곳에서 이국의 자유를 위하여 참전한 UN군,

그리고 수많은 무명 용사들을 위하여

잠시 묵념을 합시다.
Posted by Astas