2023-01-19 04:41:44 -08:00
|
|
|
import React from "react";
|
2021-12-02 18:09:13 -08:00
|
|
|
|
2023-01-19 04:41:44 -08:00
|
|
|
import { FaAndroid, FaApple } from "react-icons/fa";
|
|
|
|
import useSWR from "swr";
|
2021-12-07 20:25:21 -08:00
|
|
|
|
2022-11-01 05:45:25 -07:00
|
|
|
import {
|
|
|
|
ArrowTopRightOnSquareIcon,
|
|
|
|
BoltIcon,
|
|
|
|
ComputerDesktopIcon,
|
|
|
|
CpuChipIcon,
|
2023-01-19 04:41:44 -08:00
|
|
|
GlobeAltIcon
|
|
|
|
} from "@heroicons/react/24/solid";
|
|
|
|
import Layout from "@theme/Layout";
|
2021-12-02 18:09:13 -08:00
|
|
|
|
2023-01-19 04:41:44 -08:00
|
|
|
import { FirmwareReleases } from "../../utils/apiTypes.js";
|
|
|
|
import { fetcher } from "../../utils/swr";
|
2021-12-28 01:46:50 -08:00
|
|
|
import {
|
|
|
|
FirmwareCard,
|
2023-01-19 04:41:44 -08:00
|
|
|
PlaceholderFirmwareCard
|
|
|
|
} from "./_components/FirmwareCard";
|
2021-12-07 03:47:01 -08:00
|
|
|
|
2021-12-02 18:09:13 -08:00
|
|
|
const Firmware = (): JSX.Element => {
|
2022-12-09 22:54:44 -08:00
|
|
|
const { data, error } = useSWR<FirmwareReleases>(
|
2023-01-19 04:41:44 -08:00
|
|
|
"https://api.meshtastic.org/github/firmware/list",
|
|
|
|
fetcher
|
2021-12-07 20:25:21 -08:00
|
|
|
);
|
2021-12-07 03:47:01 -08:00
|
|
|
|
2021-12-02 18:09:13 -08:00
|
|
|
return (
|
|
|
|
<Layout
|
2022-02-03 10:13:21 -08:00
|
|
|
title="Downloads"
|
|
|
|
description="Downloads for the Meshtastic project"
|
2021-12-02 18:09:13 -08:00
|
|
|
>
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="container mt-8 flex flex-col gap-3">
|
|
|
|
<h1 className="m-2">Flasher</h1>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="flex w-full overflow-hidden rounded-xl">
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="flex w-1/5 bg-gradient-to-r from-green-500 to-primary">
|
|
|
|
<BoltIcon className="m-auto h-20" />
|
|
|
|
</div>
|
2022-11-04 18:07:40 -07:00
|
|
|
<div className="flex w-full flex-col bg-primary xl:flex-row">
|
2022-11-01 07:42:06 -07:00
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>Meshtastic Flasher</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
2022-11-04 18:07:40 -07:00
|
|
|
<p>Desktop application to flash fimware to your devices.</p>
|
2022-11-01 07:42:06 -07:00
|
|
|
</div>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="card__footer mt-auto">
|
2022-11-01 07:42:06 -07:00
|
|
|
<a
|
|
|
|
href="https://github.com/meshtastic/Meshtastic-gui-installer/releases/latest"
|
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
Download
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>ESP32 Web Flasher</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
<p>
|
2022-11-04 18:07:40 -07:00
|
|
|
Web based installer for easy flashing with Chrome and Edge
|
|
|
|
Browser. Works with T-Beam, T-Lora, Nano-G1 and similar
|
|
|
|
boards.
|
2022-11-01 07:42:06 -07:00
|
|
|
</p>
|
|
|
|
</div>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="card__footer mt-auto">
|
2022-11-01 07:42:06 -07:00
|
|
|
<a
|
|
|
|
href="https://flasher.meshtastic.org/"
|
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
Go to Flasher
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>nRF52 Drag & Drop</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
<p>
|
|
|
|
Devices such as T-Echo and RAK4631 are flashed via filesystem.
|
|
|
|
</p>
|
|
|
|
</div>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="card__footer mt-auto">
|
2022-11-01 07:42:06 -07:00
|
|
|
<a
|
|
|
|
href="/docs/getting-started/flashing-firmware/nrf52/drag-n-drop"
|
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
2022-11-07 19:26:56 -08:00
|
|
|
View Instructions
|
2022-11-01 07:42:06 -07:00
|
|
|
</a>
|
|
|
|
</div>
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-02-03 10:13:21 -08:00
|
|
|
</div>
|
2022-11-01 05:45:25 -07:00
|
|
|
{/* */}
|
|
|
|
<h1 className="m-2">Apps</h1>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="flex w-full overflow-hidden rounded-xl">
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="flex w-1/5 bg-gradient-to-r from-rose-500 to-primary">
|
|
|
|
<ComputerDesktopIcon className="m-auto h-20" />
|
|
|
|
</div>
|
2022-12-09 22:54:44 -08:00
|
|
|
<div className="flex w-full columns-3 flex-col bg-primary lg:flex-row">
|
2022-11-08 15:42:11 -08:00
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>Apple</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body flex items-center">
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="m-auto">
|
|
|
|
<FaApple className="h-20 w-20" />
|
|
|
|
</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
Available on MacOS & iOS. Requires MacOS Ventura or iOS 16+.
|
|
|
|
</div>
|
|
|
|
<div className="card__footer mt-auto">
|
|
|
|
<a
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
2022-11-16 18:19:00 -08:00
|
|
|
href="https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1586432531"
|
2022-11-08 15:42:11 -08:00
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
App Store
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>Android</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body flex items-center">
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="m-auto">
|
|
|
|
<FaAndroid className="h-20 w-20" />
|
|
|
|
</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
</div>
|
2022-12-09 22:54:44 -08:00
|
|
|
<div className="card__body">Sideloading also available.</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
<div className="card__footer mt-auto">
|
|
|
|
<a
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
2022-11-09 10:21:08 -08:00
|
|
|
href="https://meshtastic.org/docs/software/android/installation"
|
2022-11-08 15:42:11 -08:00
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
F-Droid
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
|
|
|
<a
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
href="https://play.google.com/store/apps/details?id=com.geeksville.mesh&referrer=utm_source=downloads-page"
|
|
|
|
className="mt-4 flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
Play Store
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
<div className="card m-4 border-2 border-secondary">
|
|
|
|
<div className="card__header">
|
|
|
|
<h3>Web</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body flex items-center">
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="m-auto">
|
|
|
|
<GlobeAltIcon className="h-20 w-20" />
|
|
|
|
</div>
|
2022-11-08 15:42:11 -08:00
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
Requires Chromium based browsers.
|
|
|
|
</div>
|
|
|
|
<div className="card__footer mt-auto">
|
|
|
|
<a
|
|
|
|
target="_blank"
|
|
|
|
rel="noopener noreferrer"
|
|
|
|
href="https://client.meshtastic.org"
|
|
|
|
className="m-auto flex rounded-lg border-4 border-transparent bg-accent p-1 font-semibold text-black shadow-md hover:text-black hover:brightness-110 active:border-green-200"
|
|
|
|
>
|
|
|
|
client.meshtastic.org
|
|
|
|
<ArrowTopRightOnSquareIcon className="m-auto ml-2 h-4" />
|
|
|
|
</a>
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2022-02-03 10:13:21 -08:00
|
|
|
</div>
|
2022-11-01 05:45:25 -07:00
|
|
|
{/* */}
|
|
|
|
<h1 className="m-2">Firmware</h1>
|
|
|
|
<div className="flex w-full overflow-hidden rounded-xl">
|
|
|
|
<div className="flex w-1/5 bg-gradient-to-r from-orange-500 to-primary">
|
|
|
|
<CpuChipIcon className="m-auto h-20" />
|
|
|
|
</div>
|
2022-11-04 18:07:40 -07:00
|
|
|
<div className="flex w-full flex-col bg-primary lg:flex-row">
|
2021-12-28 01:46:50 -08:00
|
|
|
{data && !error ? (
|
|
|
|
<>
|
|
|
|
<FirmwareCard
|
2022-12-09 22:54:44 -08:00
|
|
|
variant="Stable"
|
2021-12-28 01:46:50 -08:00
|
|
|
description="Tested feature set. For those who want stability."
|
2022-12-09 22:54:44 -08:00
|
|
|
release={data.releases.stable}
|
2021-12-28 01:46:50 -08:00
|
|
|
/>
|
|
|
|
<FirmwareCard
|
|
|
|
variant="Alpha"
|
2021-12-30 13:27:55 -08:00
|
|
|
description="Upcoming changes for testing. For those who want new features."
|
2022-12-09 22:54:44 -08:00
|
|
|
release={data.releases.alpha}
|
2021-12-28 01:46:50 -08:00
|
|
|
/>
|
2022-11-01 05:45:25 -07:00
|
|
|
<div className="card m-4 border-2 border-secondary">
|
2021-12-28 01:46:50 -08:00
|
|
|
<div className="card__header">
|
|
|
|
<h3>Bleeding</h3>
|
|
|
|
</div>
|
|
|
|
<div className="card__body">
|
|
|
|
<p>
|
|
|
|
Latest successful CI build. For those who want to break
|
|
|
|
things.
|
|
|
|
</p>
|
|
|
|
</div>
|
2022-11-08 06:02:43 -08:00
|
|
|
<div className="card__footer mt-auto">
|
2021-12-28 01:46:50 -08:00
|
|
|
<a
|
2022-10-31 00:45:47 -07:00
|
|
|
href="https://nightly.link/meshtastic/firmware/workflows/main/master/built.zip"
|
2021-12-28 01:46:50 -08:00
|
|
|
className="button button--secondary button--block"
|
|
|
|
>
|
2022-11-08 08:00:54 -08:00
|
|
|
Download Bleeding
|
2021-12-28 01:46:50 -08:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<>
|
|
|
|
<PlaceholderFirmwareCard />
|
|
|
|
<PlaceholderFirmwareCard />
|
|
|
|
<PlaceholderFirmwareCard />
|
|
|
|
</>
|
|
|
|
)}
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
2022-02-04 13:44:29 -08:00
|
|
|
</div>
|
2022-11-01 05:45:25 -07:00
|
|
|
</div>
|
2021-12-02 18:09:13 -08:00
|
|
|
</Layout>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default Firmware;
|