# 🌐 Sensor Library - Simulação de Sensores com MQTT
Bem-vindo à **Sensor Library**! 🎉 Essa biblioteca Python foi projetada para facilitar a simulação e publicação de dados de sensores usando o protocolo MQTT. Ideal para projetos de IoT, automação e monitoramento em tempo real, essa biblioteca oferece uma interface simples para a criação de diferentes tipos de sensores e a publicação de dados via um broker MQTT. 🚀
# 📦 Instalação
Você pode instalar a biblioteca diretamente do PyPi com o comando abaixo:
```bash
pip install PySensor-Mqtt
```
# 🛠️ Funcionalidades
- 🌡️ Simulação de Sensores de Temperatura, Umidade do Ar, Umidade do Solo, Luminosidade, Movimento e Módulo Relé
- 🔄 Publicação de dados em tempo real via MQTT
- 🧑💻 Fácil integração com sistemas de monitoramento e automação
- 📊 Suporte para diferentes tipos de sensores personalizáveis
- 🛡️ Validação de integridade dos dados e robustez na conexão com o broker MQTT
# 🚀 Como Usar
Aqui está um exemplo de como configurar e iniciar a biblioteca:
**1. Crie um Gerenciador de Sensores**
```python
from sensor_library.sensors.manager import SensorManager
manager = SensorManager()
```
**2. Configure os Parâmetros do Sensor**
Cada sensor precisa de um conjunto de parâmetros para funcionar corretamente. Exemplo de configuração de um sensor de temperatura:
``` python
params = {
'sensor_name': 'sensor_1',
'broker': 'localhost', # Endereço do broker MQTT
'port': 1883, # Porta do broker MQTT
'topic': 'sensor/temperature', # Tópico MQTT para publicação
'update_interval': 5, # Intervalo de atualização em segundos
'sensor_type': 'temperature' # Tipo do sensor
}
```
**3. Adicione o Sensor ao Gerenciador**
Agora, basta adicionar o sensor ao gerenciador e começar a publicação:
```python
manager.add_sensor(params)
manager.start()
```
✨ E pronto! Seus dados de sensor estão sendo simulados e publicados automaticamente no tópico MQTT especificado. 🚀
# 📚 Exemplos de Tipos de Sensores
Aqui estão os tipos de sensores que você pode adicionar à biblioteca:
- 🌡️ Temperature Sensor ('temperature')
- 💧 Humidity Air Sensor ('humidity_air')
- 🌱 Humidity Soil Sensor ('humidity_soil')
- 💡 Light Sensor ('light')
- 🕵️ Motion Sensor ('motion')
- 🔌 Módulo Relé ('modulo_rele')
## Exemplo de Adição de Múltiplos Sensores
```python
# Adiciona um sensor de temperatura
manager.add_sensor({
'sensor_name': 'temp_sensor',
'broker': 'localhost',
'port': 1883,
'topic': 'sensor/temperature',
'update_interval': 5,
'sensor_type': 'temperature'
})
# Adiciona um sensor de umidade do ar
manager.add_sensor({
'sensor_name': 'humidity_sensor',
'broker': 'localhost',
'port': 1883,
'topic': 'sensor/humidity_air',
'update_interval': 10,
'sensor_type': 'humidity_air'
})
manager.start()
```
# 🛡️ Segurança e Confiabilidade
Todos os dados gerados são validados para garantir sua integridade.
Conexão com o broker MQTT é automaticamente gerenciada, com retentativas em caso de falha.
# 🧪 Testes
Para garantir que sua implementação funcione corretamente, utilize os testes pré-configurados na biblioteca:
```bash
pytest tests/
```
# 🤝 Contribuições
Contribuições são bem-vindas! Se você tiver sugestões de melhorias, novas funcionalidades ou encontrar algum bug, sinta-se à vontade para abrir uma issue ou enviar um pull request.
# 📄 Licença
Esta biblioteca é licenciada sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.
**Feita com 💙 por Raunick Vileforte - Raunickbhdesign@gmail.com ✨**
Raw data
{
"_id": null,
"home_page": "https://github.com/raunick/sensor_library",
"name": "PySensor-Mqtt",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Raunick Vileforte Vieira Generoso",
"author_email": "raunickbhdesign@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/67/d8/ca136d5f441fda264044f158e9cb27996a0305923d41b3b505635447f603/pysensor_mqtt-0.1.1.tar.gz",
"platform": null,
"description": "# \ud83c\udf10 Sensor Library - Simula\u00e7\u00e3o de Sensores com MQTT\r\n\r\nBem-vindo \u00e0 **Sensor Library**! \ud83c\udf89 Essa biblioteca Python foi projetada para facilitar a simula\u00e7\u00e3o e publica\u00e7\u00e3o de dados de sensores usando o protocolo MQTT. Ideal para projetos de IoT, automa\u00e7\u00e3o e monitoramento em tempo real, essa biblioteca oferece uma interface simples para a cria\u00e7\u00e3o de diferentes tipos de sensores e a publica\u00e7\u00e3o de dados via um broker MQTT. \ud83d\ude80\r\n\r\n# \ud83d\udce6 Instala\u00e7\u00e3o\r\n\r\nVoc\u00ea pode instalar a biblioteca diretamente do PyPi com o comando abaixo:\r\n\r\n```bash\r\npip install PySensor-Mqtt\r\n```\r\n# \ud83d\udee0\ufe0f Funcionalidades\r\n\r\n- \ud83c\udf21\ufe0f Simula\u00e7\u00e3o de Sensores de Temperatura, Umidade do Ar, Umidade do Solo, Luminosidade, Movimento e M\u00f3dulo Rel\u00e9\r\n- \ud83d\udd04 Publica\u00e7\u00e3o de dados em tempo real via MQTT\r\n- \ud83e\uddd1\u200d\ud83d\udcbb F\u00e1cil integra\u00e7\u00e3o com sistemas de monitoramento e automa\u00e7\u00e3o\r\n- \ud83d\udcca Suporte para diferentes tipos de sensores personaliz\u00e1veis\r\n- \ud83d\udee1\ufe0f Valida\u00e7\u00e3o de integridade dos dados e robustez na conex\u00e3o com o broker MQTT\r\n\r\n# \ud83d\ude80 Como Usar\r\n\r\nAqui est\u00e1 um exemplo de como configurar e iniciar a biblioteca:\r\n\r\n**1. Crie um Gerenciador de Sensores**\r\n\r\n```python\r\nfrom sensor_library.sensors.manager import SensorManager\r\n\r\nmanager = SensorManager()\r\n```\r\n\r\n**2. Configure os Par\u00e2metros do Sensor**\r\n\r\nCada sensor precisa de um conjunto de par\u00e2metros para funcionar corretamente. Exemplo de configura\u00e7\u00e3o de um sensor de temperatura:\r\n\r\n``` python\r\nparams = {\r\n 'sensor_name': 'sensor_1',\r\n 'broker': 'localhost', # Endere\u00e7o do broker MQTT\r\n 'port': 1883, # Porta do broker MQTT\r\n 'topic': 'sensor/temperature', # T\u00f3pico MQTT para publica\u00e7\u00e3o\r\n 'update_interval': 5, # Intervalo de atualiza\u00e7\u00e3o em segundos\r\n 'sensor_type': 'temperature' # Tipo do sensor\r\n}\r\n```\r\n\r\n**3. Adicione o Sensor ao Gerenciador**\r\n\r\nAgora, basta adicionar o sensor ao gerenciador e come\u00e7ar a publica\u00e7\u00e3o:\r\n\r\n```python\r\nmanager.add_sensor(params)\r\nmanager.start()\r\n```\r\n\u2728 E pronto! Seus dados de sensor est\u00e3o sendo simulados e publicados automaticamente no t\u00f3pico MQTT especificado. \ud83d\ude80\r\n\r\n# \ud83d\udcda Exemplos de Tipos de Sensores\r\n\r\nAqui est\u00e3o os tipos de sensores que voc\u00ea pode adicionar \u00e0 biblioteca:\r\n\r\n- \ud83c\udf21\ufe0f Temperature Sensor ('temperature')\r\n- \ud83d\udca7 Humidity Air Sensor ('humidity_air')\r\n- \ud83c\udf31 Humidity Soil Sensor ('humidity_soil')\r\n- \ud83d\udca1 Light Sensor ('light')\r\n- \ud83d\udd75\ufe0f Motion Sensor ('motion')\r\n- \ud83d\udd0c M\u00f3dulo Rel\u00e9 ('modulo_rele')\r\n\r\n## Exemplo de Adi\u00e7\u00e3o de M\u00faltiplos Sensores\r\n```python\r\n# Adiciona um sensor de temperatura\r\nmanager.add_sensor({\r\n 'sensor_name': 'temp_sensor',\r\n 'broker': 'localhost',\r\n 'port': 1883,\r\n 'topic': 'sensor/temperature',\r\n 'update_interval': 5,\r\n 'sensor_type': 'temperature'\r\n})\r\n\r\n# Adiciona um sensor de umidade do ar\r\nmanager.add_sensor({\r\n 'sensor_name': 'humidity_sensor',\r\n 'broker': 'localhost',\r\n 'port': 1883,\r\n 'topic': 'sensor/humidity_air',\r\n 'update_interval': 10,\r\n 'sensor_type': 'humidity_air'\r\n})\r\n\r\nmanager.start()\r\n```\r\n# \ud83d\udee1\ufe0f Seguran\u00e7a e Confiabilidade\r\n\r\nTodos os dados gerados s\u00e3o validados para garantir sua integridade.\r\nConex\u00e3o com o broker MQTT \u00e9 automaticamente gerenciada, com retentativas em caso de falha.\r\n\r\n# \ud83e\uddea Testes\r\nPara garantir que sua implementa\u00e7\u00e3o funcione corretamente, utilize os testes pr\u00e9-configurados na biblioteca:\r\n\r\n```bash\r\npytest tests/\r\n```\r\n\r\n# \ud83e\udd1d Contribui\u00e7\u00f5es\r\nContribui\u00e7\u00f5es s\u00e3o bem-vindas! Se voc\u00ea tiver sugest\u00f5es de melhorias, novas funcionalidades ou encontrar algum bug, sinta-se \u00e0 vontade para abrir uma issue ou enviar um pull request.\r\n\r\n# \ud83d\udcc4 Licen\u00e7a\r\n\r\nEsta biblioteca \u00e9 licenciada sob a Licen\u00e7a MIT. Veja o arquivo LICENSE para mais detalhes.\r\n\r\n**Feita com \ud83d\udc99 por Raunick Vileforte - Raunickbhdesign@gmail.com \u2728**\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Biblioteca para simula\u00e7\u00e3o de sensores e publica\u00e7\u00e3o via MQTT",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/raunick/sensor_library"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d7b0dc53f783546d4dc11f13e7b83faccdb27365c28e63e7b3d281520a42bedd",
"md5": "b9b9f7ffeafa6523469ff51a193a9958",
"sha256": "7dfa0ccc9e17cbc578cf0b048a4af617952055f10ab561c652d59aebea17f952"
},
"downloads": -1,
"filename": "PySensor_Mqtt-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b9b9f7ffeafa6523469ff51a193a9958",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3620,
"upload_time": "2024-09-04T23:01:32",
"upload_time_iso_8601": "2024-09-04T23:01:32.182747Z",
"url": "https://files.pythonhosted.org/packages/d7/b0/dc53f783546d4dc11f13e7b83faccdb27365c28e63e7b3d281520a42bedd/PySensor_Mqtt-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "67d8ca136d5f441fda264044f158e9cb27996a0305923d41b3b505635447f603",
"md5": "856411fdb2e66b5df630983247c51d0a",
"sha256": "5786507bf10ca6d0f35f34d2f05c82b92811026e529bb80d01b1d68b78fc69a4"
},
"downloads": -1,
"filename": "pysensor_mqtt-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "856411fdb2e66b5df630983247c51d0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3891,
"upload_time": "2024-09-04T23:01:33",
"upload_time_iso_8601": "2024-09-04T23:01:33.583082Z",
"url": "https://files.pythonhosted.org/packages/67/d8/ca136d5f441fda264044f158e9cb27996a0305923d41b3b505635447f603/pysensor_mqtt-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-04 23:01:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "raunick",
"github_project": "sensor_library",
"github_not_found": true,
"lcname": "pysensor-mqtt"
}