Este artigo é compartilhado pela Comunidade HUAWEI CLOUD " LiteOS Component Early Access - Playing with Curl ", autor: W922.
introdução básica
Curl é uma ferramenta de transferência de arquivos, que é frequentemente usada para upload e download de dados. Com base na placa de desenvolvimento Cloud_STM32F429IGTx_FIRE , esta demonstração demonstra como chamar a API fornecida pelo curl na demonstração do curl para fazer download de um arquivo e salvá-lo em um arquivo local.
A operação da demonstração Curl requer que o dispositivo incorporado suporte funções de rede e sistema de arquivos. A placa de desenvolvimento Cloud_STM32F429IGTx_FIRE é adaptada à pilha de protocolos de rede lwip e ao sistema de arquivos fatfs. Para obter mais exemplos da API curl , consulte: https: //github.com/curl/curl /tree/master/docs/examples.
configuração de parâmetros
Modifique o endereço de download do arquivo e o caminho de salvamento do arquivo em demos/utility/curl/curl_demo.c. Modifique-o de acordo com o endereço de download real. O endereço de download do URL e o caminho do arquivo na demonstração do curl são os seguintes:
#define URL_ADDRESS "192.168.3.37"
#define FILE_PATH "/fatfs/curl.txt"
Ativar demonstração de cachos
Copie o arquivo de configuração padrão da placa de desenvolvimento Cloud_STM32F429IGTx_FIRE . No diretório raiz do código fonte do LiteOS, copie tools/build/config/Cloud_STM32F429IGTx_FIRE.config e renomeie-o para .config. Usando o sistema Linux como ambiente de compilação , execute os seguintes comandos para copiar e renomear o arquivo de configuração:
cp tools/build/config/Cloud_STM32F429IGTx_FIRE.config .config
Esta demonstração usa SD para armazenar os arquivos de teste baixados, então você precisa habilitar o sistema de arquivos FATFS e configurá-lo para o modo de cartão SD e executar o comando no diretório raiz do código-fonte do LiteOS: make menuconfig
Habilite cada componente e demonstração da seguinte forma :
Components --->
FileSystem --->
-*- Enable FATFS (NEW)
Choose Peripheral Driver (SD Card) --->
(X) SD Card
Network --->
-*- Enable Lwip
Enable Ipv4 Or Ipv6 (Enable Ipv4) --->
(X) Enable Ipv4
Utility --->
-*- Enable Curl
Demos --->
Utility Demo --->
[*] Enable Curl Demo
Depois de salvar e sair, o LiteOS irá baixar automaticamente o código fonte do curl do github , e baixar o pacote de patch correspondente do repositório de componentes do LiteOS no gitee , e inserir o patch no código fonte. Para o processo detalhado deste processo, consulte o arquivo components/download.sh .
Nota: O download requer um host Linux com acesso à internet e ferramentas git instaladas.
Compile e execute o Curl Demo
Execute o seguinte comando no diretório raiz do código fonte do LiteOS para compilar o projeto LiteOS: make clean;make -j
Após a compilação bem-sucedida , o arquivo da biblioteca curl libcurl.a e o arquivo da biblioteca demo libcurl_demo.a serão gerados no diretório out/Cloud_STM32F429IGTx_FIRE/lib e o arquivo de imagem do sistema é Huawei_LiteOS.bin . Grave o arquivo de imagem do sistema na placa de desenvolvimento, reinicie a demonstração da placa de desenvolvimento e comece a executar, a saída da porta serial é a seguinte:
********Hello Huawei LiteOS********
LiteOS Kernel Version : 5.0.0
build data : Mar 19 2021 15:19:22
**********************************
osAppInit
cpu 0 entering scheduler
app init!
Hello, welcome to liteos demo!
lwip test init ok.
Curl demo task start to run.
Fatfs file system mount success
Huawei LiteOS #
*** readed /fatfs/curl.txt 315 data ***
[file info]
**************************************
Curl demo task finised.
Nota: Depois que a demonstração for executada com sucesso, o arquivo baixado será salvo no arquivo local curl.txt (consulte a situação real do conteúdo específico, que é substituído por [file info] aqui).
Epílogo
No futuro, continuaremos a adicionar mais componentes, placas de desenvolvimento, arquiteturas, recursos etc.
Obrigado por ler. Se você tiver alguma dúvida ou sugestão, deixe uma mensagem para nós e vamos progredir juntos: https://gitee.com/LiteOS/LiteOS/issues .
Para encontrar o repositório de códigos "LiteOS" com mais facilidade, é recomendável visitar https://gitee.com/LiteOS/LiteOS , seguir " Watch ", como " Star ", e " Fork " para sua conta, conforme mostrado na figura.
Clique em Seguir para conhecer as novas tecnologias da HUAWEI CLOUD pela primeira vez~