저번 블로그에서 ESP8266 필드 & 파일 업로드 방법을 알려드렸습니다. https://all-share-source-code.tistory.com/56 아두이노로 ESP8266(ESP01)필드 & 파일 업로드(SPIFFS) 초간단 저는 ESP01로 진행하였음을 미리 말씀드립니다.(사실 ESP8266칩이면 모두 가능합니다.) 0-1. 아두이노 IDE 설치해 주세요 저는 ch340칩으로 필드하는 방법을 알려드리겠습니다. 0-2. 0.CH341SER -> SETUP.EXE 설 all-share-source-code.tistory.com 이번에는 ESP8266(ESP01)으로 WEB IoT 구성해보겠습니다. 일단 기본적으로 위 링크를 통해서 파일 업로드를 진행하셔야 합니다. 소스코드 https://githu..
저는 ESP01로 진행하였음을 미리 말씀드립니다.(사실 ESP8266 칩이면 모두 가능합니다.) 파일 업로드 0-1. 아두이노 IDE 설치해 주세요 저는 ch340칩으로 필드 하는 방법을 알려드리겠습니다. 0-2. 0.CH341SER -> SETUP.EXE 설치합니다 [파일 첨부(ch341로 되어있지만 작동하는데 이상 없습니다.)] 0-3 1.EEPROM_UPLOAD_FILE -> 1.FS UPload -> ESP8266FS-0.5.0.zip에 폴더를 C:\Program Files (x86)\Arduino\tools에 압축 풀기 [첨부파일(안에 출처 있습니다)] 여기까지는 0단계 끝났습니다 1-1. 아두이노IDE -> 파일 -> 환경설정 -> 추가적인 보드 매니저 URLs (https://dl.espre..
vscode에서 아두이노 코딩을 할 때 자동완성이 안되는 것을 볼 수 있습니다. 그걸 해결하기위해서는 .vscode폴더에 c_cpp_properties.json파일을 조금 수정하셔야 합니다. 일단 아두이노 IDE 설치가 기본적으로 되어 있어야 합니다. 다운로드 .vscode안에 c_cpp_properties.json파일 있으면 됩니다. 이건 제가 사용한 c_cpp_properties.json로 정의되어 있습니다. 변경 방법 변경은 아래이미지와 같이 env안에 경로만 변경하시면 되고 만역 include 파일이 오류가 난다면 includePath안에 추가적으로 더 넣으시면 됩니다. --- 추가 내용 --- 더보기 compilerPath는 컴파일하실 분만 쓰시면 되고 주석처리 하셔도 됩니다. 저 같은 경우는 ..
win10에서만 나오는 오류 인거 같습니다. 오류 내용 ERROR: Exception: Traceback (most recent call last): File "C:\Users\USER\AppData\Roaming\Python\Python38\site-packages\pip\_internal\cli\base_command.py", line 164, in exc_logging_wrapper status = run_func(*args) File "C:\Users\USER\AppData\Roaming\Python\Python38\site-packages\pip\_internal\cli\req_command.py", line 205, in wrapper return func(self, options, args)..
다운로드 https://github.com/h12sw06/pyqt5/blob/main/test.py GitHub - h12sw06/pyqt5 Contribute to h12sw06/pyqt5 development by creating an account on GitHub. github.com 코드 import sys from PyQt5 import QtCore from PyQt5.QtWidgets import * class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): ######UI 세팅######## self.tableWidget = QTableWidget() self.tableWidget.s..
one directory로 할시 정상작동하지만 one file로 할시 *.ui 파일이 계속 없다고 합니다... (아마 one file하면 exe파일안에 패키지화 되어 들어가기 때문인거 같습니다.. 그래서 _MEIPASS를 해줘야 되는거 같습니다..) 해결방법은 간단합니다. 해결방법 def resource_path(relative_path): """ Get absolute path to resource, works for dev and for PyInstaller """ try: # PyInstaller creates a temp folder and stores path in _MEIPASS base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abs..
auto py to exe에서 크롤링을 실행 파일로 만들고 실행을 하면 계속 getAttribute.js 파일이 없다고 합니다 이에 대한 해결 방법입니다. 해결방법 Additional Files Additional Files -> Add Folder 클릭 이런 창이 나오는데 여기서 해당 파이썬에 Lib -> site-packages -> selenium 클릭하고 폴더 선택합니다. Advanced 그리고 Advanced -> --aad-binary에 +버튼 클릭 해당 chromedriver.exe 있는 거 추가(이건 자신이 하고 있는 *driver.exe 추가하시면 됩니다.) 하고 뒤에는 아마 자동으로 '.' 으로 입력이 되는데 그분은 모두 지우고 코드에서 연결한 위치를 입력하시면 됩니다. 예를 들어 코드..
2021/11/24문제 될시 삭제 예정입니다.문제 없을시 크롤링 방법 올려보도록 하겠습니다. 2022/02/04(아직까지 문제제기 되지 않기 때문에 수정합니다.)댓글 요청시 크롤링 방법 올려보도록 하겠습니다. 2022/07/18전국 온누리 사용처 새로 업뎃 했습니다. 2022/12/25전국 온누리 사용처 새로 업뎃 했습니다. 2023/08/22전국 온누리 사용처 새로 업뎃 했습니다. 2025/03/04전국 온누리 사용처 새로 업뎃 했습니다. 전국 온누리상품권 엑셀 다운로드크롤링한 결과물은 엑셀로 뽑아 봤습니다. 필요하신분 첨부파일 다운받으시면 되겠습니다. 출처 : https://www.sbiz.or.kr/sijangtong/nation/onnuri/onnuriMktList.do영상영상은 크롤링중인 화..
예) X * Y = 30 이라고 가정했을때 가능한 X, Y값을 구하는 함수 입니다. 코드 def get_div_decimals(n: int, m: int = 1):#, limit: int = 0) -> Tuple[int, List[int], List[int]]: q = m // n m = (m % n) * 10 dividend = m dividend_list = [] digit_list = [] while True: # print(digit_lst) if dividend in dividend_list: break dividend_list.append(dividend) digit = dividend // n dividend = (dividend % n) * 10 digit_list.append(digit)..
파이썬 selenium execute_script는 JavaScript코드인 스크립트 형식으로 작동하게 됩니다. 그래서 사용할때 문자열로 작성하다 보니 자동 완성 안됨 과 코드가 길어지는 등 여러 단점이 있는데요 그걸 해결하고자 함수로 만들어 봤습니다. 소스코드 from selenium.webdriver.chrome.webdriver import WebDriver from selenium.webdriver.common.by import By from string import Formatter # 스크립트 전용 변수 script_Function =\ ''' function getElementByXpath(path) { return document.evaluate(path, document, null, XP..
예를 들어 fo = 'test{test}{num}' 이런 식으로 있는데 print(fo.format(test='test',num='1')) 이런 식으로 줘야 됩니다. 그리고 기본적으로 딕셔너리 형태로 줄 수가 없습니다. 딕셔너리 형태 방법 일단 딕셔너리 형태로 주는 방법입니다. test = { 'test':'dd', 'num': 1 } fo = 'test{test}{num}' print(fo.format(**test)) 간단하게 **주면 됩니다. (또는 fo.format_map(test) 줄수도 있습니다.) 하지만 문제가 하나 더 있습니다. 만약 없는 딕셔너리 즉 test = { 'test':'dd', } fo = 'test{test}{num}' print(fo.format(**test)) test = ..
Windows 전용입니다 생성한 .py파일과 같은 위치에 이미지가 있어야 됩니다. pip install 기본 설치 pip install 기본 설치 되어 있어야 됩니다. pip install pywin32 pip install pillow 소스코드 from io import BytesIO import win32clipboard from PIL import Image def send_to_clipboard(clip_type, data): win32clipboard.OpenClipboard() win32clipboard.EmptyClipboard() win32clipboard.SetClipboardData(clip_type, data) win32clipboard.CloseClipboard() filepath ..
모든 Batch파일은 악의적으로 사용하지 않을 것을 권고드립니다!! 통상적으로 setx(환경변수) 등록할 때 cmd에서 바로 인식하지 못합니다. 하지만 이런방법을 해결할 수 있습니다. 일단 배치파일 2개가 필요합니다. 첫 번째는 setx 등록할 배치파일 두 번째는 setx 읽어드릴 배치파일이 필요합니다. 만약 이 2가지를 합치면 문법 오류가 나오게 됩니다... 째든 코드를 보시죠~ (복붙 하면 코드가 깨져서 나올 수 있으니 아래 첨부 파일 해두었습니다.) (vscode로 진행하는 것을 추천드립니다. [접기 기능 사용 가능]) 배치 파일 코드 test1.bat ::.bat 기본 세팅 값 @echo off @chcp 65001 set mypath=%~dp0 setx "Auto_INSTALL" -m "%myp..
파이썬으로 작업 안 하고 엑셀에 작업하다가 파이썬으로 자동화할 경우 기존 작성했던 내용들이 다 사라지는 것을 겪볼 수 있습니다. 그때 해결방법입니다. import pandas as pd from openpyxl import load_workbook book = load_workbook(execlFileName) writer = pd.ExcelWriter(execlFileName, engine='openpyxl') writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) newdf = pd.read_excel(SAVE) newdf.to_excel(writer) writer.save() 위코드로 해결하시면 되겠습니다. ..
모든 Batch파일은 악의적으로 사용하지 않을 것을 권고드립니다!! 코드부터 보시죠~ (복붙 하면 코드가 깨져서 나올 수 있으니 아래 첨부 파일 해두었습니다.) (vscode로 진행하는 것을 추천드립니다. [접기 기능 사용 가능]) ::.bat 기본 세팅 값 ::모든 명령줄 끄기 @echo off ::UTF8로 설정 @chcp 65001 ::모든 명령줄 clean cls goto :CheckUAC ::관리자 권한 취득하기 :CheckUAC ::관리자 권한 체크 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto :UACAccess ) else ( got..
블로그를 쓰기 앞서 호환되는 기종들 체크! [갤럭시 스마트폰] - Galaxy S8/ S8+/S8 Active, Galaxy Note 8, Galaxy S9/S9+, Galaxy Note9, Galaxy S10/S10 5G/S10+/S10e, Galaxy Note 10/Note 10+/Note 10 5G/Note 10+ 5G, Galaxy A90 5G, Galaxy Fold, Galaxy S20/S20+/S20 Ultra 5G, Galaxy Note 20/Note 20 Ultra/Note 20 5G/Note 20 Ultra 5G, Galaxy Z Fold2, Galaxy S21/S21+/S21 Ultra 등.. 상위버전 [갤럭시 태블릿] - Galaxy Tab S4, Galaxy Tab S5e, Gala..
데이터가 많아지면 파일 생성하는데 시간이 걸리기 마련입니다. 시간이 걸리게 되면 코드가 에러가 나기 마련이죠.. 따라서 대기 시간을 줘야 하는데 time.sleep함수만 줘서는 예측하기 힘든 상황입니다. 따라서 while문을 사용하여 반응형으로 대기를 주면 될 거 같습니다. 간단한 코드입니다~ 예제 코드 import os, glob # 해당 .py파일 위치 path=os.path.dirname(os.path.realpath(__file__)) # 파일 있을때까지 대기 count = 1 while not glob.glob(os.path.join(path,'파일이름*.csv')): print(count) count+=1 time.sleep(1) # 아래부터 코드 실행 glob함수를 써서 모든 파일 찾게끔 했..