# Gömülü yazılım ve güvenli güncelleme

Kartın üstünde çalışan yazılımı yazarız. Kararı kart kendisi verir; internet kesilse de cihaz işini sürdürür.

Yeni sürüm imzalı gelir ve cihazın başındaki kişinin onayıyla kurulur.

## Ne yaparız

- Sensörü okuyan, röleyi ve motoru süren yazılımı yazarız.
- Kararı veren bölümü donanımdan ayrı yazarız; bu bölüm bilgisayarda test edilir.
- Telefonla WiFi kurulumunu kurarız: kart kendi geçici ağını açar, ekranında bir kod gösterir.
- Kablosuz güncellemeyi kurarız.
- Her kartın kendi kimliğini (sertifikasını) karta bir kez, kabloyla yazarız.

## Ne teslim ederiz

- Kart yazılımı. Kaynak kodun kimde kalacağı keşifte yazılı belirlenir.
- Test raporu: hangi davranış nasıl sınandı.
- Mesaj sözleşmesi: kartın sunucuya ne gönderdiği.
- Güncelleme düzeni ve imza anahtarının saklanma yeri.

## Nasıl yaparız

- Yeni ürünlerin kart yazılımını Rust ile yazıyoruz. Kararı veren çekirdek donanımı bilmez; aynı çekirdek deneme kartında da ürün kartında da derlenir.
- İşlemci olarak ESP32 ailesini kullanıyoruz; WiFi kartın üstündedir.
- Güncelleme iki yuvalıdır: yeni sürüm boş yuvaya yazılır, ilk açılışta kendini sınar; geçemezse kart eski sürüme döner. Daha eski bir sürüm sonradan kurulamaz.
- İmzayı işlemci üreticisinin doğrulanmış katmanı denetler; kendi imza kodumuzu yazmayız.
- Bir bekçi zamanlayıcısı takılan yazılımı yeniden başlatır. Açılışta bütün çıkışlar kapalıdır.

## Sık sorulanlar

### İnternet kesilirse cihaz durur mu?

Hayır. Kararı kart kendisi verir. İnternet ya da sunucu kesilince cihaz yerel işini sürdürür; bağlantı gelince durumunu yeniden gönderir.

### Güncelleme yarıda kalırsa ne olur?

Yeni sürüm ayrı bir yuvaya yazılır; yarıda kalırsa kart eski sürümle çalışmayı sürdürür. Yeni sürüm ilk açılışta kendini sınar; geçemezse kart eski sürüme döner.

### Cihazın ayarını uzaktan değiştirebilir misiniz?

Kendiliğinden değil. Uzaktan bir ayar önerisi gönderilebilir; öneri, cihazın başındaki kişi tuşla onaylayınca uygulanır.

## Ürününüzü yerinde görelim

Ürününüzü, isteğinizi, tahmini adedi ve takviminizi yazın. Keşif gününü birlikte belirleyelim.

[Yerinde keşif isteyin](https://devrede.ekurumsal.net/iletisim/)
