Virtual Farmer

Thoughts, stories and ideas.

ESP32-Cam DIY : Homekit Camera
Arduino

ESP32-Cam DIY : Homekit Camera

ESP32-CAM 是一片以 ESP32 為基礎的開發版,本身內建 WIFI 及 藍芽 BLE 之外,再加上 OV2640 兩百萬畫素相機模組、 閃光燈模組等。 ESP32-CAM 可以通過圖片或者MJPEG IP Camera的方式來介接至HomeAssistant,再利用Homebridge接入HomeKit,若您想原生接入HomeKit會比較麻煩,Github中有個解決方案,現在這里分享下如何編譯及燒錄。 本文電腦環境為macOS,若您有基本開發知識可以在其他平台編譯、刷寫,但是Apple Home App就無可避免的需要有支援的蘋果系統。 1.首先要準備好ESP-IDF開發環境 2.下載程式碼 git clone https://github.com/maximkulkin/esp32-homekit-camera.git cd esp32-homekit-camera 更新子模塊 git submodule update --init --recursive 添加CMakeList.txt,
3 min read
Flutter 使用 Firebase
Flutter

Flutter 使用 Firebase

目標:本文將一步步帶您整合Firebase至Flutter做使用。 步驟: 1. 確認當前Flutter SDK branch 位在 stable 1.22.6 2. 創建Flutter專案,配置packageName(下一步會用到) 3. 登入Firebase,創建專案,配置iOS, Android的Service檔案(.plist & .json) 4. Flutter專案中,於pubspec.yaml中引入dependencies項目 內文: 1. 確認當前Flutter SDK branch 位在 stable 1.22.6 2. 創建Flutter專案,配置packageName iOS Android(請一併配置圖中其他設定:minSDK=>21) # 添加這行 apply plugin: 'com.google.
3 min read
在Java專案中手動導入Kotlin開發的三方庫
Android

在Java專案中手動導入Kotlin開發的三方庫

最近有個需求,大致上就是想要在App中做一個搖桿控鍵,在思索一下後,直接在我比較熟悉的iOS專案中自己刻了起來,恩...不用一個上午就完成了。 等等,還有Android呀!!!因為這個專案目前還是依賴原生較多,也沒有計畫以Flutter來重寫,所以要各自開發。 在瀏覽器搜索一番後,我發現了一個感覺還滿簡潔的源碼: CircleDPad 該作者是以 Kotlin開發的,不過我在透過build.gradle導入過程中並不順利,況且我需要增加其功能,所幸就來手動導入吧! include ':circledpad' implementation project(':circledpad') ext.kotlin_version = "1.3.72" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' classpath
3 min read
將您的iOS應用程式轉移到另一個開發者帳戶(2020)

將您的iOS應用程式轉移到另一個開發者帳戶(2020)

Apple Developer Sign In - AppleApple 登入開發者帳號B(要接收App的帳號) 登入帳號後,進入Membership。 記下帳號B 的TEAM ID 登入帳號A 登入帳號後,進入App Store Connect。 點進去要轉出去的App 進入App information,點Transfer App。 1.同意條款,哪裡不合格回去改 2.填寫帳號B的appleID以及TeamID 3.同意轉讓  A帳號回到App Store Connect,點Agreements, Tax, and Banking,可以取消轉讓。 改以B帳號到App Store Connect,點Agreements, Tax, and Banking,即可執行接受。
2 min read
Flutter 打包帶簽章的Apk
Flutter

Flutter 打包帶簽章的Apk

我是使用VSCode IDE來開發Flutter的,非常推薦,我一開始也用過Android Studio,但VSCode輕巧了許多,可玩性也比較多。 首先新增一個檔案:key.properties 路徑如下 製作KeyStore簽章 填寫內容 storePassword= keyPassword= keyAlias= storeFile= 修改gradle Part1 def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) Part2 signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPasswor
1 min read
製作KeyStore簽章

製作KeyStore簽章

使用Android Studio 這是最簡單的方式,AS提供可視化工具,很簡單就可以製作完成,缺點是要打開臃腫的AS才能操作,不是很方便。 依序操作 使用Terminal終端機 檢查環境 which keytool java -version 若提示沒有JDK,可以直接使用Android Studio內的 vi .zshrc export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/ 產生簽章 keytool -v -genkey -v -keystore {file-name} -alias {alias-name} -keyalg RSA -validity 10000 Ex. keytool -v -genkey -v -keystore
2 min read
Flutter 簡單實作Local notification
Flutter

Flutter 簡單實作Local notification

首先新增庫依賴 flutter_local_notifications | Flutter Packageflutter_local_notifications - A cross platform plugin for displaying and scheduling local notifications for Flutter applications with the ability to customise for each platform.Dart packages 在需要使用的地方import import 'package:flutter_local_notifications/flutter_local_notifications.dart'; 初始化 WidgetsFlutterBinding.ensureInitialized(); var initAndroidSetting = AndroidInitializationSettings('@mipmap/
1 min read
Flutter 簡單代理(delegate)實作
Flutter

Flutter 簡單代理(delegate)實作

首先,介绍一下 Dart Mixin,理解 mixin 概念的關鍵在於理解中間類。 維基百科中這樣定義 mixin: In object-oriented programming languages, a Mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes. 即,mixin 是另外一個普通類,我們可以在不繼承的情況下從此類”借用”方法和變數。 Support for the mixin keyword was introduced
2 min read