![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...
Get link
Facebook
X
Pinterest
Email
Other Apps
[Raspberry Pi] - rc카 만들기 #6 카메라(Pi Cam)
Get link
Facebook
X
Pinterest
Email
Other Apps
-
#6 카메라(Pi Cam)
이번에는 로봇에 카메라를 달아 볼 것이다. 카메라의 쓰임은 원격 조종시 로봇 주변 환경의 탐사와, 동영상 혹은 스틸컷을 데이터로 남기기 위함이다. 또한 로봇에 장착된 AP에 접속한 기기들은 실시간 스트리밍 영상을 볼 수 있다. 카메라를 사용하시위해서는 환경 설정에서 카메라를 활성화 시켜주어야한다.
환경설정 - 인터페이스 옵션에 있다.
sudo raspi-config
코드는 듀얼 쇼크(DualShock4) 기준으로 작성되었다.
square 버튼다운시 스틸컷을 찍어 날짜 및 시간을 이름으로 외부 저장 장치에 저장된다.
스트리밍을 할 IP주소를 정해주어야 하는데 AP와 Raspberry Pi는 이더넷 으로 연결 되어있기 때문에 eth0의 아이피를 적어주면 된다.
다만 if의 이름은 스트링이 아닌 바이트코드 형식이기 때문에 python3를 사용한다면 앞쪽에 b를 붙여주어야 바이트코드로 인식 한다.
아래의 코드는 Raspberry Pi가 AP에 접속 될 때의 이더넷 아이피로 동영상을 전송한다.
스크립트를 따로 만들어 주어야 하는 이유는 지금까지 만든 메인 스크립트는 부팅시 자동으로 실행 되도록 앞서 설정해두었다. 문제는 메인 스크립트를 실행시 아래 코드가 포함 될 결우 아직 네트워크에 접속이 되지 않은 상태에서 IP를 불러오려고 하기때문에 인터럽트가 발생해 로봇은 작동하지 못한다.
from subprocess import call
import socket
import fcntl
import struct
def get_ip_address(ifname):
s = socket.socket(socket,AF_INET, socket,SOCK_DGRAM)
한국에 패스 오브 엑자일이 상륙하게 되면서 많은 사람들이 관심을 가지고 있다. 패스 오브 엑자일은 디아블로3가 기대에 미치지 못했던 플레이어들 사이에서는 디아블로2의 정신적 후속작으로 인정받고 있는 핵슬게임이다. 아직은 프리오픈 기간이지만 한국 서버가 생기면서 한국 플레이어들이 많아지고있다. 만약PC방과 같은 곳에서 한국 서버로 접속이 안되는 경우 내 문서 > my games 에 있는 Path of Exile 폴더를 지우고 실행하면된다. 채팅장에는 무수한 한글이 보이고 여러 질문들이 올라오는데 바로 아이템 획득 키인 F 키 이다. "아이템 획득키 어떻게 사용하는건가요?", "아이템이 먹어지지 않아요!", "아이템 어떻게 주워요?" "아이템 링크 어떻게 하나요?" 등 의 질문이 많이보인다. 사실 디아블로를 해본 사람들이라면 키 세팅도 크게 다르지 않기 때문에 적응하기에 쉽지만 그렇지 않은사람들도 있는것으로 보인다. 드롭된 아이템들을 확인할 수 있는 방법에는 크게 두 가지로 Alt 키 와 Z 키 가 있다. 우선 Alt 키 를 눌러 푸쉬온 방식으로 누르고 있을때만 드롭된 아이템들을 확인 하는 방법과 Z 키 를 이용해 푸쉬락 방식으로 한번 누르면 다음에 누를때 까지 강조효과가 지속되어 떨어져있는 아이템이나 오브젝트를 확인할 수 있는방법이 있다. 여기까지는 게임을 처음 접하는 사람들도 문제없이 인지하고 있다. 아이템 링크의 경우 패스 오브 엑자일에서는 Ctrl + Alt 를 누른상태에서 원하는 아이템을 클릭하면 채팅창에 올릴 수 있다. # 그럼 F 키는 어떻게 사용하나? 패스 오브 엑자일의 입력 설정 에서 확인해보면 F 키는 아이템 획득 키로 지정이 되어있다. 아마 이 옵션을 본 대다수의 플레이어가 F 키를 누르면 아이템이 인벤토리로 들어올 것으로 생각하는 것 같다. 이렇게 생각하는 원인은 요즘 온라인 게임들은 아주 편리하게 아이...
아날로그 자이로 센서의 값을 블루투스 HC-06를 통해 컴퓨터로 전달 받을 수 있게 하려고 한다. 블루투스로 통신을 하기 위해서 지난번과 같은 문제 를 방지하기 위해 HC-06 의 baud rate를 115200로 변경해야한다. 115200로 사용해야 정상적으로 업로드가 된다. baud rate 수정 우선 아래의 코드를 아두이노에 업로드한다. #include SoftwareSerial BTSerial( 2 , 3 ); / / Tx:Digital 2pin, Rx:Digital 3pin void setup() { Serial.begin( 9600 ); BTSerial.begin( 9600 ); Serial.println( "Annajin AT" ); } void loop() { if (BTSerial.available()) Serial.write(BTSerial.read()); if (Serial.available()) BTSerial.write(Serial.read()); } Colored by Color Scripter cs AT 커맨드를 순서대로 입력한다. AT+BAUD8 을 입력하면 baud rate 가 115200로 바뀐다 다시 9600으로 바꾸려면 다음과 같이 수정하고 AT+BAUD4 를 입력하면 된다. void setup() { Serial.begin( 115200 ); BTSerial.begin(...
BlunoBeetle 버전 의 경우는 BlunoBeetle(피버시노) 과 BlunoLink(PC쪽 수신기) 가 무선을 해결해 주었기 때문에 PC가 직접 블루투스로 연결되지 않았다. 게다가 BlunoLink 의 시리얼 넘버도 한 자리로 잡혔었기 때문에 반쪽짜리 성공이였다. 하지만 지난번에 만든 블루투스 모듈(HC-06)을 이용한 피버시노 는 PC와 직접 블루투스로 연결된다. 초기 버전의 피버시노가 시리얼 넘버를 이용하여 통신포트를 찾았다면 이번에는 블루투스 장치의 MAC 주소를 이용하여 통신 포트를 찾아 보려고 한다. HC-06의 MAC 주소 알아내기 우선 블루투스 모듈의 MAC 주소를 알아내야한다. MAC 주소는 생각보다 어렵지 않게 알아낼 수 있는데 바로 장치관리자 에서 알아낼 수 있다. 이 방법 말고도 파이썬을 이용해서 알아내는 방법도 있다. 하지만 파이썬에서는 뭐가 MAC주소인지 알기 어려우니 장치관리자 에서 알아보는 것이 좋다. HC-06을 PC에 설치한 후 장치관리자에 보면 위와같이 2개의 직렬 포트가 열린것을 확인 할수 있다. 각각 송신과 수신이라고 보면 된다. 간혹 장치를 제거하고 재연결 했을때 두 포트의 역활이 바뀌는 경우도 있다. 재미있는건 한 포트에서만 MAC주소가 검출된다는 것이다. 내 경우에는 COM7으로 부터 아두이노의 시리얼 신호를 수신하는데, 바로 이 수신 포트만 MAC 주소를 가지고 있다. 참고로 HC-06의 패스워드는 "1234" 이다. 해당 포트의 속성 > 자세히 > Bluetooth Device Address 로 이동하면 나오는 값이 MAC주소이다. 뭔가 의심스러운 사람은 스마트폰과 연결해보면 쉽게 확인 할 수 있다. 아래 사진은 스마트폰에서 잡히는 MAC 주소이다. MAC 주소를 이용해 HC-06 통신 포트 찾기 장치관리자나 파이썬을 이용해 hwid(하드웨어ID) 를 찾아보면 다음과 같은 값...
Comments
Post a Comment
좋은하루되세요. ^^