Python
-
데이터 진법 변환Python 2022. 9. 23. 23:24
장비의 데이터를 파싱할 때 보면 진법 변환이 필요한 경우가 많다... 1. dec > bin (무식한 방법이다. 하지만 어때..ㅎ 되면 감사한거지 뭐) def decimalToBinary2( data ): fullData = "" for i in range(len(data)) : #print(data[i:i+1]) if data[i:i+1] == "0" : fullData += "0000" elif data[i:i+1] == "1" : fullData += "0001" elif data[i:i+1] == "2" : fullData += "0010" elif data[i:i+1] == "3" : fullData += "0011" elif data[i:i+1] == "4" : fullData += "0100..
-
modbus CheckSum 구하기.Python 2022. 9. 23. 23:11
예를들어서 포멧이 아래와 같다고 하자. 01 01 03 04 ff 00 06 checkSum(crc-16 ABCD Type) https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/ Online Checksum Calculator - SCADACore SCADACore's Checksum Calculator can be used to verify the checksum algorithm used by field devices. It accepts ASCII or Hex to produce a checksum. www.scadacore.com 위 사이트에서 구해보면 이렇게 나온다. 그렇다면 파이썬에서는 어떻게 쉽게..
-
파이썬에서 시리얼 데이터 받기 (Hex Data)Python 2022. 9. 23. 23:02
여기는 Hex 형태의 시리얼 데이터를 받는 예제입니다. String 데이터는 이전 글을 보세요. 선행작업 pip install pyserial pip가 설치가 안된경우 pip 를 먼저 설치 합니다. apt install python3-pip import serial seru = serial.Serial('/dev/ttyUSB0', 115200) while True: if seru.readable(): s = seru.read() hex_string = binascii.hexlify(s).decode('utf-8') print(hex_string)
-
파이썬에서 시리얼 데이터 받기 (String Data)Python 2022. 9. 23. 22:59
여기는 String 형태의 시리얼 데이터를 받는 예제입니다. Hex 데이터는 다음 글을 보세요. 선행작업 pip install pyserial pip가 설치가 안된경우 pip 를 먼저 설치 합니다. apt install python3-pip 코드 import serial ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS) while True: if ser.readable(): res = ser.readline() print(res.decode()[:len(res) - 1]) 엄청 간단하죠? 설명이 필요 없을정..
-
os.system 을 통한 터미널 명령어 사용하기.Python 2022. 9. 23. 22:54
os.system 을 사용한 echo 명령어 os.system("echo -en \x02Hello Python!\x03 > /dev/ttyS0 9600" ) ttyS0 포트로 헥사와 아스키 값을 전송한다. 그런데 위와 같이 전송하면 보드에서 못 받을때가 있다. 그럴땐 아래와 같이 터미널에서 아래와 같이 한번 입력 해주고 해줘야 동작했다. stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb -echo 그래서 cron 에 @reboot /home/user/sh/Setting.sh 를 등록하고 리부팅 될때 마다 자동으로 위 커멘드를 수행하게 했다.
-
두 gps 지점으로 방위각 구하기Python 2022. 1. 24. 15:18
php 로 짜다가 파이썬으로 바꿔야 해서 구글링 시작 사실 구글링 하다보면 나오긴 하는데... 각도가 2~3도씩이나 차이가 나서 쓸수가 없었다. C언어로는 많아서 그냥 파이썬에서 C를 불러다 쓸까~ㅎㅎ 하다가 아우~ 이것도 귀찮아서 파이썬으로 짰다 그냥 https://www.omnicalculator.com/other/azimuth Azimuth Calculator If you want to give a location of a point relative to your current position, you need to provide two values: the azimuth and the distance. If Earth was flat, the latter would simply by the str..
-
리눅스에 파이썬 설치하기Python 2022. 1. 19. 14:28
https://codechacha.com/ko/ubuntu-install-python39/ Ubuntu - Python 3.9 설치 방법 Ubuntu 18.04에 파이썬 3.9 버전을 설치하는 방법을 정리하였습니다. Apt를 이용하여 설치, Source를 다운로드받아 설치, Alternatives로 Python 버전 관리. alternatives을 사용하면 python의 버전 변경을 쉽게 할 codechacha.com apt 를 이용하여 설치 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsnakes/ppa sudo apt install python3.9 설치완료 후 경로와 버전 확인 w..