Розгортання REST API на Python Flask за допомогою Raspberry Pi Zero W та ngrok

текст перекладу
Це простий посібник, який показує, як розгорнути власний API-сервіс, використовуючи Raspberry Pi.

pic

Вимоги

Налаштування Python3 на Raspberry Pi

Спочатку оновіть і оновіть ваше пристрій Raspberry Pi, використовуючи цю команду:

sudo apt-get update  
sudo apt-get upgrade

Далі встановіть Python3 за допомогою цієї команди:

sudo apt install python3  
sudo apt install python3-pip

Створіть папку, файл Python та середовище Python за допомогою цієї команди:

mkdir Flask_App  

cd Flask_App  

touch app.py  

sudo apt-get install python3-venv  

python -m venv flask_app_env  

source flask_app_env/bin/activate

Встановіть пакети Python за допомогою цієї команди:

pip3 install flask pyngrok

Встановлення Vim як редактора коду

Ми будемо використовувати редактор коду Vim для написання нашого коду на Python. Використовуйте цю команду для встановлення Vim на Raspberry Pi:

sudo apt install vim  

vi app.py

Код на Python

Ось код на Python:

from flask import Flask, jsonify, request  
from pyngrok import ngrok  

app = Flask(__name__)  

@app.route('/', methods=['GET'])  
def home():  
 return jsonify({'message': "Hello Word! Data from Raspberry pi Zero W."})  

if __name__ == '__main__':  
 public_url = ngrok.connect(5000)  
 print(f"Public URL: {public_url} ")  

 app.run(host='0.0.0.0', port=5000)

Пояснення коду:

  • Ми будемо використовувати фреймворк Flask для створення простого API-додатку.
  • REST API виводитиме ‘message’: “Hello Word! Data from Raspberry pi Zero W.” у форматі JSON.
  • Flask додаток використовуватиме порт 5000 для хостингу додатка, а також виводитиме публічну URL-адресу, яку можна використовувати для GET-запитів.

Вихідні дані

pic

Вихідні дані

Ось публічна URL-адреса, надана ngrok: “https://23ea-2409-40c2-5010-fd3c-de7c-8468-6821-2d91.ngrok-free.app

Давайте спробуємо curl локальну URL-адресу, використовуючи цю команду:

curl http://127.0.0.1:5000/

pic

Тепер давайте відкриємо публічну URL-адресу в будь-якому веб-браузері.

pic

pic

Ось ми й тут...

Тепер давайте використовуємо Postman для HTTP-запитів.

pic

pic

Висновок

Ми успішно розгорнули наш публічний REST API. Замість того щоб покладатися на великі хмарні сервіси, такі як AWS або Google Cloud для хостингу API, ми можемо використовувати цю техніку для хостингу власних API.

Соціальні мережі

Слідкуйте за мною в:

GitHub: https://github.com/Sakib-Dalal

Linkedin: https://www.linkedin.com/in/sakib-dalal/

Перекладено з: Python Flask REST API hosting using Raspberry Pi Zero W and ngrok

Leave a Reply

Your email address will not be published. Required fields are marked *