Help us understand the problem. What is going on with this article?

shortcuts,使ってますか?

はじめに

この記事は東京高専プロコンゼミAdventCalendar② 24日目 の記事です.
https://adventar.org/calendars/4321/
https://adventar.org/calendars/4322/

すでに日本では25日になっていますが,僕はハワイ在住なのでセーフです().

作るもの

今回は,前々から使いたかったiOS shortcutsのssh機能を使ってraspberry piに計算をさせる何かを作りました.

shortcutsとは?

Apple-Shortcuts-v2-logo-icon.jpg

https://support.apple.com/ja-jp/guide/shortcuts/welcome/ios
ショートカットは、Appでの1つまたは複数の作業をすばやく完了するための機能です。「ショートカット」Appでは、複数の手順を組み合わせた独自のショートカットを作成できます。たとえば、海の波情報を取り込み、ビーチまでの所要時間をチェックし、サーフミュージックのプレイリストを再生する、という「サーフタイム」ショートカットを構築できます。

できたもの

こんな感じで計算式を引数で送ると計算結果がメールで返ってきます.

書いたコード

raspberry pi側

import sys
import smtplib
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email.utils import formatdate


MY_ADDRESS = "送る側のメールアドレス@gmail.com"
PASSWORD = "パスワード"
TO_ADDRESS = "受け取る側のメールアドレス@gmail.com"


class Mail:
    def __init__(self):
        self.smtpobj = smtplib.SMTP_SSL('smtp.gmail.com', 465)
        self.smtpobj.login(MY_ADDRESS, PASSWORD)

    def make_massage(self, from_address, to_address, subject, text):
        message = MIMEText(text)
        message["Subject"] = subject
        message["From"] = from_address
        message["To"] = to_address
        message["Date"] = formatdate()
        return message

    def send(self, from_address, to_address, message):
        self.smtpobj.sendmail(from_address, to_address, message.as_string())

    def close(self):
        self.smtpobj.close()


mail = Mail()

# 引数を取得 ["main.py", "1+2"]みたいな感じで取得される
args = sys.argv
# 式を実行
ans = eval(args[1])

message = mail.make_massage(MY_ADDRESS, TO_ADDRESS, "result", str(ans))
mail.send(MY_ADDRESS, TO_ADDRESS, message)
mail.close()

raspberry piのssh設定に関しては,https://qiita.com/3no3_tw/items/4b5975a9f3087edf4e20を見るといいと思います.

shortcus側

これはコードとは言えないですが...
InkediOS の画像 (3)_LI.jpg

まとめ



それ,電卓でよくね??????????????????????

shortcuts,自由度が高くて色々なことができるので,興味があるiOSユーザーの人はいじってみると面白いと思います.

拙い文章ですが最後まで読んでいただき,ありがとうございました.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした