Installare libreria connessione a DB MySQL su UR32
Home › Forum › Soluzioni di comunicazione cellulare › Milesight › Installare libreria connessione a DB MySQL su UR32
- Questo topic ha 3 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 1 giorno fa da
Sergio Bertana.
-
AutorePost
-
Marzo 5, 2026 alle 10:24 am #84716
Anonimo
InattivoSu un router Milesight UR32-L04EU-W-485 stò leggendo dei dati Modbus da un dispositivo con la seriale 485 (con la procedura nativa).
Ora siccome avrei la necessità di inviare questi dati ad un database MySQL pensavo di realizzare uno script Python per per raggiungere lo scopo. La mia idea era quella di installare la libreria connettore MySQL sul router, ho provato tramte il comando pip da putty, ma ho questo errore:
ROUTER(Python)# pip install mysql-connector-python Collecting mysql-connector-python Downloading https://files.pythonhosted.org/packages/a9/98/3cd603a0130a4bc088942b51c142ce13de3bf21a26b4f960527859a780da/mysql_connector_python-8.0.33-py2.py3-none-any.whl (390kB) 100% |████████████████████████████████| 399kB 1.3MB/s Collecting protobuf<=3.20.3,>=3.11.0 (from mysql-connector-python) Downloading https://files.pythonhosted.org/packages/74/4e/9f3cb458266ef5cdeaa1e72a90b9eda100e3d1803cbd7ec02f0846da83c3/protobuf-3.18.0-py2.py3-none-any.whl (174kB) 100% |████████████████████████████████| 184kB 1.0MB/s Installing collected packages: protobuf, mysql-connector-python Exception: Traceback (most recent call last): File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/basecommand.py", line 228, in main status = self.run(options, args) File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/commands/install.py", line 335, in run use_user_site=options.use_user_site, File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/req/__init__.py", line 49, in install_given_reqs **kwargs File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/req/req_install.py", line 748, in install use_user_site=use_user_site, pycompile=pycompile, File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/req/req_install.py", line 961, in move_wheel_files warn_script_location=warn_script_location, File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/wheel.py", line 499, in move_wheel_files h, l = rehash(f) File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/wheel.py", line 60, in rehash for block in read_chunks(f, size=blocksize): File "/mnt/mmcblk0p1/pysdk/lib/python2.7/site-packages/pip-10.0.1-py2.7.egg/pip/_internal/utils/misc.py", line 212, in read_chunks chunk = file.read(size) MemoryErrorMarzo 5, 2026 alle 10:30 am #84721Sergio Bertana
Amministratore del forumStai cercando di installare mysql-connector-python su un UR32 che ha:
- Python 2.7 embedded
- pip 10.0.1
- Risorse limitate (RAM e memoria flash), come mostra il MemoryError
L’installazione fallisce perchè
- mysql-connector-python >= 8.x richiede Python 3.6+ per alcune funzionalità, anche se dice “py2.py3”.
- Il pacchetto è grande (~400 kB) e il router ha memoria limitata, pip non riesce a caricarlo in RAM per l’installazione.
- Con Python 2.7 + pip vecchio + RAM limitata è quasi impossibile installare pacchetti moderni complessi.
- In pratica, l’UR32 non ha abbastanza RAM per compilare/unpackare il pacchetto.
Marzo 5, 2026 alle 10:53 am #84727Sergio Bertana
Amministratore del forumHo provato ad installare pacchetti più leggeri:
pip install PyMySQL, PyMySQL è scritto totalmente in Python, ma anche questa installazione fallisce.
pip install mysqlclient, mysqlclient è un wrapper C per MySQL / MariaDB. Per compilare, pip cerca mysql_config, che fa parte di MySQL/MariaDB development libraries. ma su UR32:
- Non ci sono compilatori C (gcc ecc.)
- Non ci sono librerie di sviluppo MySQL
- Lo spazio e la RAM sono limitati
Quindi credo che non sia possibile gestire la connessione a MySQL direttamente dal router.
Marzo 6, 2026 alle 3:13 pm #84741Sergio Bertana
Amministratore del forumAggiungo un update alla discussione, ho ricevuto da Milesight una versione aggiornata del SDK la 5.0.4 download.
Ho aggiornato il router con la nuova versione SDK (Per aggiornare l’SDK occorre disinstallare quella precedente), poi ho aggiornato il PIP.
ROUTER(Python)# pip install --upgrade pip Requirement already satisfied: pip in /mnt/mmcblk0p1/pysdk/lib/python3.9/site-packages (24.0) Collecting pip Downloading pip-26.0.1-py3-none-any.whl.metadata (4.7 kB) Downloading pip-26.0.1-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 448.2 kB/s eta 0:00:00 Installing collected packages: pip
Ora ho installato il package PyMySQL.
ROUTER(Python)# pip install PyMySQL Collecting PyMySQL Downloading pymysql-1.1.2-py3-none-any.whl.metadata (4.3 kB) Downloading pymysql-1.1.2-py3-none-any.whl (45 kB) Installing collected packages: PyMySQL Successfully installed PyMySQL-1.1.2
Non ho provato con altri package di gestione MySQL ma penso che ora si ha una maggiore compatibilità.
-
AutorePost
- Devi essere connesso per rispondere a questo topic.