본 문서는 Wizter-5100의 운영을 위하여 필요한 RES TAPI 서버를 설정하는 방법을 설명하는 문서 입니다.
1. Windows용 PC에 파이썬, Flask, MySQL, waitress를 설치한다.
2. 아래 예제를 "Wizter_RestApiServer_test.py" 로 저장한다.
3. 저장한 폴더로 이동 (c:\>cd C:\....... )
4. c:\......>waitress-serve --port=7777 Wizter_RestApiServer_test:app 로 실행 한다.
from flask import Flask, jsonify, request
import MySQLdb
import json
from datetime import datetime
app = Flask(__name__)
# MySQL 서버에 연결
def get_db_connection():
try:
return MySQLdb.connect(
host='192.168.0.80', # MySQL 서버 통신 환경
port=2222,
user='yyyy',
passwd='bft5436',
db='rest_api_database'
)
except MySQLdb.Error as e:
print("Database connection error:", e)
return None
# 사용자 추가
@app.route('/users', methods=['POST'])
def add_user():
new_user = request.get_json() # JSON 데이터 받기
print(new_user)
conn = get_db_connection()
if conn is None:
return jsonify({'error': 'Database connection failed'}), 500
cursor = conn.cursor()
try:
sql_query = "INSERT INTO data_acquisition (r_seq, created_time, send_time, para1_str_add, para2_num_call, port_no_station_no, event_no_fun_co, device_id, b_seq, response_time, company_code, my_ip, mod_value, value_choice) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"
cursor.execute(sql_query, (
new_user['r_seq'],
new_user['created_time'],
new_user['send_time'],
new_user['para1_str_add'],
new_user['para2_num_call'],
new_user['port_no_station_no'],
new_user['event_no_fun_co'],
new_user['device_id'],
new_user['b_seq'],
new_user['response_time'],
new_user['company_code'],
new_user['my_ip'],
new_user['mod_value'],
new_user['value_choice']
))
conn.commit() # 변경사항 저장
return jsonify(new_user), 201
except MySQLdb.Error as e:
print("Database error:", e) # 오류 출력
return jsonify({'error': str(e)}), 500
finally:
cursor.close()
conn.close()
if __name__ == '__main__':
app.run(debug=True, host='운영할 컴퓨터의 IP', port=7777) # 웹 서버 통신 환경
'Wizter-5100 참고자료' 카테고리의 다른 글
| 윈도우용 Local NTP 서버 구축하기 (0) | 2025.12.03 |
|---|---|
| Wizter-5100 IP 확인 프로그램 (0) | 2025.12.02 |
| Wizter-5100 블루투스 통신 (0) | 2025.12.02 |