2021/01 19

Esp8266 레고 NXT 모터 제어하기

ESP8266 개발보드 NodeMCU(1.0)으로 레고 NXT 모터를 제어를 제어해 보았다. 내부에 엔코더가 내장되어 있고, 간단히 테스트 해볼 모터로 쓰기는 나쁘지 않은듯 하여 선택했다. NXT 모터 핀 배선은 다음과 같다. 나는 기본적으로 있던 레고 선을 잘라 색상을 맞추어 헤더핀에 납땜을 진행했다. 일단은 간단하게 M_0 핀과 M_1 핀만 사용하여 구동을 진행 해보았다. ESP8266에서 D0, D1 핀을 사용하여 모터의 방향을 제어하고, D2핀을 사용하여 PWM신호를 출력하도록 하였다. 모터드라이브는 L298N 모듈을 사용했다. PWM제어를 위해 L298N 모듈의 EN1에 있는 점퍼를 제거 한 뒤, NodeMCU의 D2에 연결하였고, EN1,EN2를 각각 D0, D1에 연결했다. 배선도 소스코드 ..

개발관련 2021.01.29

라즈베리파이 with flask

Flask(플라스크) 파이썬에서 사용가능한 웹 프레임워크(Web Framework) 웹 개발에 필요한 최소한의 기능 위주로 구현되어있음. 최소한의 기능이라 Micro Web Framework 라고도 함. 설치방법 파이썬 3.x버젼의 경우 sudo apt-get install python3-pip sudo pip3 install flask 폴더구조 웹서버를 구성할 폴더 하나 제작한다. mkdir webserver 다음과 같이 내부에 폴더를 구성한다. python.py import RPi.GPIO as GPIO from flask import Flask, render_template app=Flask(__name__) @app.route('/') def index(): return render_templat..

flutter 설치

예전에 작성한 글이라 버전은 따로 업그레이드 해야한다. 하지만 대략적인 방법은 같으니 블로그에 글을 기록해두기로 했다. 1.22.4 stable 버전 https://storage.googleapis.com/flutter_infra/releases/stable/windows/flutter_windows_1.22.4-stable.zip 압축파일을 다운로드 받은 뒤 원하는 경로에 압축을 해제합니다. (ex : D:\flutter ) 주의할 점은 압축해제하는 폴더가 관리자 권한으로 변경가능한 폴더가 아니어야 합니다.(ex programfiles ) path 설정 시작 검색창에서 "계정의 환경 변수 편집"을 검색합니다. 변수에서 Path를 찾은 뒤 편집을 눌러줍니다. 그 뒤 새로만들기 를 클릭, 압축 해제한 fl..

개발관련 2021.01.28

[python] 네이버카페 크롤링 코드

python, beautifulsoup와 크롬드라이버를 사용해 네이버카페 게시물을 드래그 해서 csv파일로 만들어주는 코딩을 진행해 보았다. 네이버 아이디와 비밀번호 입력까지 자동으로 진행 한 수 원하는 카페에서 게시물의 제목과 내용(원하는 부분)을 가지고 와서 csv로 만들어주도록 하였다. 코드분석은 따로 진행하도록 하겠다. 소스코드 import time from selenium import webdriver from bs4 import BeautifulSoup as bs import csv total_list = ['제목','링크'] f = open('craw.csv', 'w', encoding = "euc-kr", newline='') wr = csv.writer(f) wr.writerow([tot..

개발관련/Python 2021.01.28

pynput로 단축키 만들기(with python )

데이터라벨링 작업을 진행하면서 여러 데이터라벨링 프로그램을 접하게 되었다. 작업중 del 키를 많이 쓰게 되었는데 옆으로 넘기는 키인 a,d 를 사용하다가 저멀리 딜리트 키까지 손을 옮기려니 작업효율이 너무 떨어진다. 프로그램을 뜯어서 볼 수는 없으니 대신 키보드에서 어떤키가 눌리는지 확인하고 키를 대체하여 내가 원하는 기능을 수행하도록하는 간단한 파이썬 스크립트를 제작했다. pyautogui를 사용하려다가 pynput을 사용했다. 기본적으로는 키보드 후킹 -> 키 대체 -> 다른키로 입력 이런 식으로 동작하도록 하였고, 프로그램 종료를 하기 위해 esc가 눌리면 프로그램이 종료 될 수 있도록 하였다. exe 파일로 만들어서 다른 라벨러들에게도 공유 가능하도록 하였다. pyinstaller 를 사용하여 ..

개발관련/Python 2021.01.28

rosserial esp8266 wifi통신(tcp)

ROS와 ESP32 tcp 통신을 진행해 보았다. 우선 ESP32 또는 ESP8266 보드를 아두이노 IDE 환경에서 개발하고, 업로드 하기위해 환경설정 - 추가적인보드 매니저 URLs 에 다음과 같이 두개의 URL을 추가한다. http://arduino.esp8266.com/stable/package_esp8266com_index.json https://dl.espressif.com/dl/package_esp32_index.json 보드를 추가하기 위해 툴 -> 보드 -> 보드매니저 로 들어가서 esp32와 esp8266 보드를 설치해준다. 소스코드 /// ROS-Esp WiFi(tcp) /// doljokilab.tistory.com /// dol42@kakao.com /// made by. dol ..

개발관련/ROS 2021.01.28

wsl2 우분투 ros vscode 개발환경 세팅하기

wsl2로 구동중인 우분투에서 ros에서 코드를 좀 더 편집하기 편하게 하기 위해 vscode를 사용하고자 한다. 기존 윈도우에도 vs코드가 깔려있지만 우분투와 권한문제가 생길 수 있어 wsl2에 설치 된 우분투 환경에 vscode를 따로 설치하여 사용하기로 하였다. sudo apt-get install curl sudo sh -c 'curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg' sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/..

개발관련 2021.01.23

블로그에 글쓰기

올해 나의 목표 중 하나인 블로그에 꾸준하게 기록하기. 1차 목표인 3월까지 게시물 30개 작성하기를 달성하기 위해 꾸준하게 기록을 진행하고 있다. 메모는 많이 하고, 원노트나 노션을 사용해 기록은 했었지만 블로그를 통해 인터넷에 글을 쓴다는 것이 생각보다 많은 시간을 소요한다는 것을 느낀다. 사진도 다듬고, 자료조사도 하고, 다시한번 문제없이 동작하는지도 확인 하다보면 시간이 순식간에 지나간다. 써야 할 내용이 너무나 많고, 시간은 한정적이지만 꾸준하게 글을 쓰면서 재밌기도 하고, 블로그에 들어오는 사람들을 보면서 성취감도 생겨서 새로운 취미로 좋은 것 같다. 스피드웨건은 쓰고싶은 내용이 너무나 많다.

life 2021.01.22

[ROS] 간단한 Publisher과 Subscriber 예제(python)

!!진행시 경로를 잘 확인하세요. 저는 윈도우 10에서 wsl2를 사용해 ros를 구동중입니다. 이전 게시물들을 참고하여 설정 후 진행하면 도움이 될 것 같습니다. 사전 환경세팅용 참고 게시물 [ROS] ubuntu 18.04에 ROS Melodic 설치하기(PC) 우분투 18.04 LTS에 ROS Melodic을 설치하는 방법을 소개한다. Melodic은 12번째로 릴리즈 된 ROS 배포판이다. 2018년 5월에 릴리즈 되어 2023년 5월까지 지원 예정이다. 현재 가장 오래 지원 예정이기 때문에 doljokilab.tistory.com WSL2로 윈도우10에서 ROS 설치하기 매번 듀얼부팅으로 껐다 켰다 하기도 귀찮다. 윈도우10에서 WSL2를 사용해서 ROS를 설치해보자. WSL이란? WSL(Win..

개발관련/ROS 2021.01.22
반응형