Установка Raspbian на MicroSD
- Скачать дистрибутив RASPBIAN STRETCH LITE отсюда: https://www.raspberrypi.org/downloads/raspbian/.
- Распаковать скачанный архив, чтобы получился файл с расширением
.img
.
Как только зелёный светодиод перестал мигать...
# -*- coding: utf-8 -*- | |
# Главный модуль проекта. | |
# Библиотека для работы с конфигурационным файлом. | |
import configparser | |
import Downloader | |
from Parser import xmlParser |
[DOWNLOADER] | |
IPv4 = 127.0.0.1 | |
Port = 3000 | |
Login = LOGIN | |
Password = PASS | |
PathToKnownHosts = /ssha;dsjf;kjadsf | |
PathToRemoteXML = https://asdfasdf | |
SaveTo = /tmp/blablabla | |
[PARSER] |
import System.Directory | |
import System.Environment | |
import Control.Exception | |
import Data.Typeable | |
import Data.List | |
data InvalidPath = InvalidPath String deriving (Show) | |
data FileError = NoSuchFile deriving (Show, Typeable) | |
data EmptyFile = EmptyFile deriving (Show, Typeable) |
{- | |
Вот это наш .yaml-конфиг: | |
--- | |
API_URL: https://api.nightscout/v2 | |
API_Secret: asdLKJHh0987ljkhLKJlkjhLKJ | |
-} | |
-- Это для того, чтобы сырые литералы "" могли автоматически превращаться, например, в Text. | |
-- Без них литералы станут типом String, а этот тип неэффективный и считается уже антипаттерном. |
cat /sys/class/thermal/thermal_zone*/temp | |
echo "`cat /sys/class/power_supply/BAT0/energy_now` / `cat /sys/class/power_supply/BAT0/energy_full` * 100" | |
acpi |
{-# LANGUAGE OverloadedStrings #-} | |
{-# LANGUAGE MultiWayIf #-} | |
module UserData where | |
import Text.Read (readMaybe) | |
import Data.Text | |
import qualified Data.List as List | |
import Data.Maybe (isJust, fromJust) | |
import qualified Data.Text.IO as TIO |
Установка Raspbian на MicroSD
.img
.Как только зелёный светодиод перестал мигать...
{-# LANGUAGE OverloadedStrings #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
module Main where | |
import Data.Aeson | |
import Data.Aeson.Encode.Pretty | |
import Data.Aeson.Types | |
import Data.ByteString as B | |
import qualified Data.ByteString.Lazy.Char8 as LC |
let result = decode rawJSON :: Maybe FullWeather | |
data FullWeather = FullWeather | |
{ cod :: Int | |
, message :: Text |
getDateFromUser :: IO (Either UserError Day) | |
getDateFromUser = do | |
Prelude.putStrLn "Пожалуйста, укажите дату для прогноза в формате ГГГГ-ММ-ДД:" | |
currentTime <- getCurrentTime | |
date <- Prelude.getLine | |
let retrievedDate = utctDay currentTime | |
dayFromUser = parseTimeM True defaultTimeLocale "%Y-%-m-%-d" date :: Maybe Day | |
case dayFromUser of | |
Nothing -> здесь беда, потому что пользователь ввёл какую-то гадость | |
Just validDay -> do |